Skip to content

Commit 43f430e

Browse files
libtluis.baez
authored andcommitted
Added delegate for know, when scrolling animation ends
1 parent cd01ccb commit 43f430e

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

Example/PickerView/ExamplePickerViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,4 +238,8 @@ extension ExamplePickerViewController: PickerViewDelegate {
238238
return customView
239239
}
240240

241+
func pickerView(_ pickerView: PickerView, didEndScrollingRow row: Int, index: Int) {
242+
print("Scroll animation ends in current Row \(row) and current Index \(index)")
243+
}
244+
241245
}

Pod/Classes/PickerView.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import UIKit
3737
@objc optional func pickerView(_ pickerView: PickerView, didTapRow row: Int, index: Int)
3838
@objc optional func pickerView(_ pickerView: PickerView, styleForLabel label: UILabel, highlighted: Bool)
3939
@objc optional func pickerView(_ pickerView: PickerView, viewForRow row: Int, index: Int, highlighted: Bool, reusingView view: UIView?) -> UIView?
40+
@objc optional func pickerView(_ pickerView: PickerView, didEndScrollingRow row: Int, index: Int)
4041
}
4142

4243
open class PickerView: UIView {
@@ -525,12 +526,18 @@ open class PickerView: UIView {
525526
delegate?.pickerView?(self, didSelectRow: currentSelectedRow, index: currentSelectedIndex)
526527

527528
tableView.setContentOffset(CGPoint(x: 0.0, y: CGFloat(finalRow) * rowHeight), animated: animated)
529+
530+
Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(selectRowDidScrollEnd), userInfo: nil, repeats: false)
528531
}
529532

530533
open func reloadPickerView() {
531534
tableView.reloadData()
532535
}
533536

537+
@objc open func selectRowDidScrollEnd() {
538+
delegate?.pickerView?(self, didEndScrollingRow: currentSelectedRow, index: currentSelectedIndex)
539+
}
540+
534541
}
535542

536543
extension PickerView: UITableViewDataSource {
@@ -631,6 +638,8 @@ extension PickerView: UIScrollViewDelegate {
631638
}
632639

633640
isScrolling = false
641+
642+
delegate?.pickerView?(self, didEndScrollingRow: currentSelectedRow, index: currentSelectedIndex)
634643
}
635644

636645
public func scrollViewDidScroll(_ scrollView: UIScrollView) {

0 commit comments

Comments
 (0)