From da9bcf54dff250fdeb4fd1c0087baff4213cdb63 Mon Sep 17 00:00:00 2001 From: "luis.ignacio" Date: Wed, 10 Jan 2018 12:57:04 -0600 Subject: [PATCH] Added delegate for know, when scrolling animation ends --- Example/PickerView/ExamplePickerViewController.swift | 4 ++++ Pod/Classes/PickerView.swift | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Example/PickerView/ExamplePickerViewController.swift b/Example/PickerView/ExamplePickerViewController.swift index bb15785..c320a1e 100644 --- a/Example/PickerView/ExamplePickerViewController.swift +++ b/Example/PickerView/ExamplePickerViewController.swift @@ -238,4 +238,8 @@ extension ExamplePickerViewController: PickerViewDelegate { return customView } + func pickerView(_ pickerView: PickerView, didEndScrollingRow row: Int, index: Int) { + print("Scroll animation ends in current Row \(row) and current Index \(index)") + } + } diff --git a/Pod/Classes/PickerView.swift b/Pod/Classes/PickerView.swift index 79091bb..8b1d188 100644 --- a/Pod/Classes/PickerView.swift +++ b/Pod/Classes/PickerView.swift @@ -37,6 +37,7 @@ import UIKit @objc optional func pickerView(_ pickerView: PickerView, didTapRow row: Int, index: Int) @objc optional func pickerView(_ pickerView: PickerView, styleForLabel label: UILabel, highlighted: Bool) @objc optional func pickerView(_ pickerView: PickerView, viewForRow row: Int, index: Int, highlighted: Bool, reusingView view: UIView?) -> UIView? + @objc optional func pickerView(_ pickerView: PickerView, didEndScrollingRow row: Int, index: Int) } open class PickerView: UIView { @@ -530,7 +531,6 @@ open class PickerView: UIView { open func reloadPickerView() { tableView.reloadData() } - } extension PickerView: UITableViewDataSource { @@ -631,6 +631,12 @@ extension PickerView: UIScrollViewDelegate { } isScrolling = false + + delegate?.pickerView?(self, didEndScrollingRow: currentSelectedRow, index: currentSelectedIndex) + } + + open func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) { + delegate?.pickerView?(self, didEndScrollingRow: currentSelectedRow, index: currentSelectedIndex) } public func scrollViewDidScroll(_ scrollView: UIScrollView) {