Swift - 通过点击 ScrollView 内的 ViewController 内的按钮来滚动 UIScrollView
Posted
技术标签:
【中文标题】Swift - 通过点击 ScrollView 内的 ViewController 内的按钮来滚动 UIScrollView【英文标题】:Swift - Scroll a UIScrollView by tapping button inside a ViewController inside the ScrollView 【发布时间】:2015-10-13 00:10:31 【问题描述】:我有一个包含一堆视图控制器的 UIScrollView,并且在每个视图控制器中都有一个按钮,如果按下该按钮,应该将 UIScrollView 滚动到某个位置。如何为按钮连接 viewController IBAction 以设置 UIScrollView 的滚动位置?
我知道我会在某个时候调用 contentOffset,但我正在努力让 ViewControllers 控制滚动视图。
【问题讨论】:
在viewContoler中,self.view.superview
是不是滚动视图?
【参考方案1】:
您可以这样做...当您将每个 UIViewController.view
添加到 UIScrollView
时,您还可以在每个引用 UIScrollView
的 UIViewController
中设置一个 var
。
例如,对于一些UIViewController
,我们称它为X,放
var scrollView: UIScrollView?
在里面。然后在您控制UIScrollView
的类中,当您将视图X 添加到UIScrollView
时,还要执行以下操作:
viewControllerX.scrollView = self.theScrollView
现在,当您在 viewControllerX
中调用您的 IBAction
方法时,您有一个对 UIScrollView
的引用,正如您所说,可以通过 self.scrollView.contentOffset.y = someValueHere
更改其位置。
【讨论】:
以上是关于Swift - 通过点击 ScrollView 内的 ViewController 内的按钮来滚动 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章
swift3.0 点击UIScrollView中输入框之外的区域关闭键盘
使用 AutoLayout 以编程方式将 UILabel 添加到 ScrollView (swift)