我的应用程序中有一个UIScrollView,并启用了垂直弹跳。我需要在屏幕底部弹跳,但不在屏幕顶部启用。
我知道如何检测滚动视图,代码如下:
(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
// no bounce if scrollView has reached the top of the screen ??
}
bounces
属性,使其随着滚动视图的滚动而变化。- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
scrollView.bounces = (scrollView.contentOffset.y > 100);
}
SWIFT
func scrollViewDidScroll(_ scrollView: UIScrollView) {
//disable bounce only at the top of the screen
scrollView.bounces = scrollView.contentOffset.y > 100
}
仅用于拉取:
extension YourViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
scrollView.contentOffset.y = min(-88, scrollView.contentOffset.y) // -88 or other point
}
}
在滚动发生之前满足条件是正确的。
override func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
tableView.bounces = tableView.contentOffset.y > 100
}
100
是从哪里来的?为什么恰好是100?@Wain,你有解释吗? - Bruno Bieri