Мне было интересно, как определить, прокручивается ли UITableView
(вверх или вниз).
Я хочу скрыть клавиатуру, когда UITableView
прокручивается с помощью self.view.endEditing(true)
.
Заранее спасибо
Мне было интересно, как определить, прокручивается ли UITableView
(вверх или вниз).
Я хочу скрыть клавиатуру, когда UITableView
прокручивается с помощью self.view.endEditing(true)
.
Заранее спасибо
Вы можете добавить UIScrollViewDelegate
. После этого вы можете реализовать метод scrollViewDidScroll
.
Вы можете установить свойство UITable view (XCode 7 +)
В раскадровке:
в коде:
tableView.keyboardDismissMode = .onDrag
override func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if(velocity.y>0){
NSLog("dragging Up");
}else{
NSLog("dragging Down");
}
}
Я считаю, что полное решение будет следующим:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == feedTableView {
let contentOffset = scrollView.contentOffset.y
print("contentOffset: ", contentOffset)
if (contentOffset > self.lastKnowContentOfsset) {
print("scrolling Down")
print("dragging Up")
} else {
print("scrolling Up")
print("dragging Down")
}
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if scrollView == feedTableView {
self.lastKnowContentOfsset = scrollView.contentOffset.y
print("lastKnowContentOfsset: ", scrollView.contentOffset.y)
}
}
Предыдущие ответы не были на 100% точными.