使用 2 个自定义视图将 ScrollView 添加到 ViewController
Posted
技术标签:
【中文标题】使用 2 个自定义视图将 ScrollView 添加到 ViewController【英文标题】:Adding ScrollView to ViewController with 2 custom Views 【发布时间】:2017-03-20 21:40:59 【问题描述】:My viewController has one view with images and labels and one textView
我是目标 c 的新手。 我的问题是在我的 ViewController 中添加带有 2 个自定义视图(UIView 和 UITextView)的 ScrollView。(链接中的图像)我已经尝试了很多东西在 Stack 中发布,但对我没有任何作用。 谢谢!
这是我所拥有的:
self.scrollView.contentSize=self.scrollView.frame.size;
self.scrollView.frame=self.view.frame;
[self.view addSubview:self.scrollView];
【问题讨论】:
【参考方案1】:调整视图的框架是5年前的技术。您永远不应该手动设置框架,不再是。而是开始学习自动布局和约束。 这些教程可能会有所帮助:
https://www.raywenderlich.com/115440/auto-layout-tutorial-in-ios-9-part-1-getting-started-2 https://www.appcoda.com/auto-layout-guide/
【讨论】:
是的,这对我有帮助。谢谢 ! :)【参考方案2】:在实际设置框架之前,您将内容大小设置为等于框架大小,所以它可能只是 0。
您只需切换呼叫:
self.scrollView.frame=self.view.frame;
self.scrollView.contentSize=self.scrollView.frame.size;
[self.view addSubview:self.scrollView];
要记住的另一件事是,因为您将嵌套视图的框架设置为其父视图的框架,如果您的父视图的来源是永远改变。如果原点是0, 0
,那么您暂时可以,但否则您可能希望将子视图(scrollView)框架设置为等于父视图(self.view)边界而不是框架,如下所示:
self.scrollView.frame=self.view.bounds
【讨论】:
以上是关于使用 2 个自定义视图将 ScrollView 添加到 ViewController的主要内容,如果未能解决你的问题,请参考以下文章