提问人:rmluux 提问时间:1/29/2020 更新时间:7/16/2022 访问量:1347
UIScrollView 禁用顶部反弹
UIScrollView disable top bounce
问:
我有一个包含 UIScrollView 的 ViewController,我尝试仅在视图顶部禁用反弹效果。
我试图在我的ViewController类中添加这个答案,它说要这样做:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
//disable bounce only at the top of the screen
scrollView.bounces = scrollView.contentOffset.y > 100
}
但我真的不明白该怎么做。我还尝试实现 UIScrollViewDelegate。
我尝试过的任何东西都没有奏效。
这是我的 StoryBoard 和 ViewController
我需要做些什么才能使它起作用?
我的设置:
- Swift版本:5.1.3
- Xcode版本:11.3.1
- 目标 iOS 版本 : 13.2
- MacBook Pro(13 英寸,2016 年,四个雷雳 3 端口) MacOS Catalina 10.15.2 (19C57)
答:
4赞
Valentina Konatar
1/29/2020
#1
连接 scrollView 插座,然后尝试添加或添加您的函数。scrollView.delegate = self
scrollView.bounces = scrollView.contentOffset.y > 100
viewDidLoad()
评论
0赞
rmluux
1/29/2020
我尝试添加并让我的视图控制器继承UIScrollViewDelegate,但它不起作用scrollView.delegate = self
0赞
rmluux
1/29/2020
添加该功能只需禁用顶部和底部反弹。scrollView.bounces = scrollView.contentOffset.y > 100
viewDidLoad()
0赞
Valentina Konatar
1/29/2020
添加 scrollview outlet,就像你所做的那样,并调用它。然后添加,然后检查您的是否被调用。imageView
scrollView
scrollView.delegate = self
viewDidLoad()
scrollViewDidScroll()
4赞
Ketan Parmar
1/29/2020
#2
如果你想禁用的反弹,那么你可以把你的出口,并且可以将反弹属性设置为false,如下所示,scrollview
scrollview
viewdidload
yourScrollView.bounces = false
或者您也可以取消选中故事板中的反弹!
评论
0赞
Valentina Konatar
1/29/2020
这不会消除从顶部和底部的反弹吗?他只想去除顶部反弹
0赞
Ketan Parmar
1/29/2020
哦!好。我误解了这个问题!那么@ValentinaKonatar的答案是正确的,只禁用顶部弹跳!
0赞
Chetan Hedamba
1/29/2020
#3
试试这个
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0 {
scrollView.contentOffset.y = 0
}
}
评论
0赞
rmluux
1/29/2020
我试过了,但从未调用过该函数。我需要做什么?我通过设置委托尝试了@ValentinaKonatar答案,但没有用。
1赞
Chetan Hedamba
1/29/2020
以 scrollview outlet 为例,像这样添加委托 scrollView.delegate = self
0赞
rmluux
1/29/2020
#4
好的,这是我问题的答案:
- 在 viewController 中,添加 ScrollView 出口
- 在函数中,添加以下内容
viewDidLoad()
myScrollView.delegate = self
- 使 viewController 实现 UIScrollViewDelegate :
class MyViewController: UIViewController, UIScrollViewDelegate { ...
然后添加以下函数:
函数 scrollViewDidScroll(scrollView: UIScrollView) { myScrollView.bounces = myScrollView.contentOffset.y > 100 }
0赞
Ucdemir
7/16/2022
#5
转到 Attributes Inspector。 取消选中“Bounce On Scrolll”
评论