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 时,您还可以在每个引用 UIScrollViewUIViewController 中设置一个 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的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift 仿微信朋友圈实现图片点击放大查看

swift3.0 点击UIScrollView中输入框之外的区域关闭键盘

使用 AutoLayout 以编程方式将 UILabel 添加到 ScrollView (swift)

在 ScrollView 内创建列表

使用swift在scrollview内的stackview中更改uibutton中的标题

Swift/Xcode - 无法与 ScrollView 中的 View 内的文本框和按钮进行交互