我有一些模态控制器,它们是UIViews并且没有滚动。

通过阅读SO,苹果文档和其他文章,似乎可以通过以下三种方法解决此问题:


多选视图中的所有元素,然后转到
editor-embedin-UIScrollview。

在身份检查器中将视图更改为滚动视图,然后
将以下行添加到viewdidload:

[(UIScrollView *)self.view setContentSize:CGSizeMake(320,2000)];

将元素复制到剪贴板,删除uiview,添加新的scrollview
并将元素复制到滚动视图中。警告-这会破坏
元素的位置,尽管确实保留了它们的位置
出口属性。


但是,我已经尝试了所有这些,并且scrollview仍然无法滚动。

我还有其他步骤想念吗?

在此先感谢您的任何建议。

编辑:

启用滚动视图并不容易,并且网络上有很多相互矛盾的建议。

我终于通过在一个单独的方法(而不是viewdidload)中设置内容大小来使它起作用。


(void)viewDidLayoutSubviews {
self.MainScroll.contentSize = CGSizeMake(320,1800);
}


也要感谢Evo提供的有关正确设置所有垂直尺寸以及在VC大小检查器中使用自由格式的建议,因为如果您不仔细设置这些设置将无法正常工作。

最佳答案

如果您曾经启用过自动版式,即使现在已禁用,也需要:


选择您计划滚动的视图控制器
在情节提要视图的右下角,单击第三个按钮(最右边),然后单击“重置为建议的约束”
确保滚动视图中的所有元素都嵌入在所需的位置。


如果您不使用自动版式:


检查视图控制器的大小是否设置为(320,2000),或您想要的任何值。
在视图控制器的“模拟指标”中,您可以将尺寸类型设置为“自由格式”。
然后,在“模拟度量”右侧的选项卡中,可以将宽度和高度设置为所需的值。


请发表任何疑问

关于ios - 将 View 转换为用于模态 Controller 的scrollview,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32055881/

10-13 05:05