UIScrollView 禁用顶部弹跳
UIScrollView disable top bounce
我有一个包含 UIScrollView 的 ViewController,我试图仅在视图顶部禁用弹跳效果。
我试图在我的 ViewController class 中添加 this answer,也就是说要这样做:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
//disable bounce only at the top of the screen
scrollView.bounces = scrollView.contentOffset.y > 100
}
但我真的不知道该怎么办。我还尝试实现 UIScrollViewDelegate。
我试过都没用。
Here is my StoryBoard and ViewController
我需要做什么才能让它发挥作用?
我的设置:
- Swift 版本:5.1.3
- Xcode 版本:11.3.1
- 目标 iOS 版本:13.2
- MacBook Pro(13 英寸,2016 年,四个 Thunderbolt 3 端口)MacOS Catalina 10.15.2 (19C57)
连接 scrollView 插座,然后尝试在 viewDidLoad()
函数中添加 scrollView.delegate = self
或添加 scrollView.bounces = scrollView.contentOffset.y > 100
。
如果你想禁用 scrollview
的反弹,那么你可以关闭你的 scrollview
并可以在 viewdidload
中将反弹 属性 设置为 false,如下所示,
yourScrollView.bounces = false
或者您也可以取消选中故事板中的反弹!
试试这个
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0 {
scrollView.contentOffset.y = 0
}
}
好的,这是我的问题的答案:
- 在viewController中添加ScrollView outlet
- 在
viewDidLoad()
函数中,添加这个myScrollView.delegate = self
- 使您的 viewController 实现 UIScrollViewDelegate :
class MyViewController: UIViewController, UIScrollViewDelegate { ...
然后添加如下函数:
func scrollViewDidScroll(scrollView: UIScrollView) {
myScrollView.bounces = myScrollView.contentOffset.y > 100
}
我有一个包含 UIScrollView 的 ViewController,我试图仅在视图顶部禁用弹跳效果。
我试图在我的 ViewController class 中添加 this answer,也就是说要这样做:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
//disable bounce only at the top of the screen
scrollView.bounces = scrollView.contentOffset.y > 100
}
但我真的不知道该怎么办。我还尝试实现 UIScrollViewDelegate。
我试过都没用。
Here is my StoryBoard and ViewController
我需要做什么才能让它发挥作用?
我的设置:
- Swift 版本:5.1.3
- Xcode 版本:11.3.1
- 目标 iOS 版本:13.2
- MacBook Pro(13 英寸,2016 年,四个 Thunderbolt 3 端口)MacOS Catalina 10.15.2 (19C57)
连接 scrollView 插座,然后尝试在 viewDidLoad()
函数中添加 scrollView.delegate = self
或添加 scrollView.bounces = scrollView.contentOffset.y > 100
。
如果你想禁用 scrollview
的反弹,那么你可以关闭你的 scrollview
并可以在 viewdidload
中将反弹 属性 设置为 false,如下所示,
yourScrollView.bounces = false
或者您也可以取消选中故事板中的反弹!
试试这个
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0 {
scrollView.contentOffset.y = 0
}
}
好的,这是我的问题的答案:
- 在viewController中添加ScrollView outlet
- 在
viewDidLoad()
函数中,添加这个myScrollView.delegate = self
- 使您的 viewController 实现 UIScrollViewDelegate :
class MyViewController: UIViewController, UIScrollViewDelegate { ...
然后添加如下函数:
func scrollViewDidScroll(scrollView: UIScrollView) { myScrollView.bounces = myScrollView.contentOffset.y > 100 }