【发布时间】:2020-01-30 23:45:36
【问题描述】:
我目前有一个应用程序的入门部分,其中一个 UIPageViewController 中有六个 ViewController。由于 UIPageViewController 的限制,我想改为使用 UIScrollView,这样我就可以充分利用分页以及 UIScrollView 委托方法。
视图都是使用 Storyboard 构建的,所以我需要弄清楚如何将它们带入启用分页的 UIScrollView。我找到的所有参考资料都显示了如何以编程方式在 UIScrollView 中创建视图,如下所示:
class ViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var pageControl: UIPageControl!
let colors = [UIColor.cyan, UIColor.blue, UIColor.green, UIColor.yellow]
var frame = CGRect(x: 0, y: 0 , width: 0, height: 0)
override func viewDidLoad() {
super.viewDidLoad()
for index in 0..<colors.count {
frame.origin.x = scrollView.frame.size.width * CGFloat(index)
frame.size = scrollView.frame.size
let subView = UIView(frame: frame)
subView.backgroundColor = colors[index]
scrollView.addSubview(subView)
}
scrollView.contentSize = CGSize(width: scrollView.frame.size.width * CGFloat(colors.count), height: scrollView.frame.size.height)
}
}
如何将 Storyboards 中创建的视图引入 UIScrollView?
运行 Xcode 11。
【问题讨论】:
-
首先,使用自动布局约束而不是明确的帧大小。其次,将视图控制器加载为子视图控制器,并将它们的视图添加到滚动视图中。
-
@DonMag 您的简洁性有其优点,但更多细节对于仍然严重依赖教程来学习绳索的人会非常有帮助。
标签: ios xcode uiscrollview