当用户滚动到顶部时,我设法禁用了弹跳效果。我想以某种方式反转它,以便在底部禁用弹跳效果。你可以帮我修改我的代码吗?
var lastY: CGFloat = 0.0
func scrollViewDidScroll(scrollView: UIScrollView) {
let currentY = scrollView.contentOffset.y
let currentBottomY = scrollView.frame.size.height + currentY
if currentY > lastY {
//"scrolling down"
tableView.bounces = true
} else {
//"scrolling up"
// Check that we are not in bottom bounce
if currentBottomY < scrollView.contentSize.height + scrollView.contentInset.bottom {
tableView.bounces = false
}
}
lastY = scrollView.contentOffset.y
}
答案 0 :(得分:5)
您可以尝试此代码
override func scrollViewDidScroll(scrollView: UIScrollView)
{
if scrollView.contentOffset.y <= 0
{
scrollView.contentOffset = CGPointZero
}
}
答案 1 :(得分:4)
您是否尝试将bounce和VerticalBounce属性设置为否。
您可以以编程方式设置这些属性,如
在Swift中
tableView.bounces = false
tableView.alwaysBounceVertical = false
在Objective-C
tableView.bounces = NO;
tableView.alwaysBounceVertical = NO;
OR
如果您想从故事板进行此操作。让你的tableview设置如下:
答案 2 :(得分:0)
可能会在以下代码段后帮助您:
override func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentSize.height > self.view.frame.size.height && scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height {
scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: scrollView.contentSize.height - scrollView.frame.size.height), animated: false)
}
}