TL; DR:在Interface Builder中布局超大滚动视图内容的最佳方法是什么?
我试图找出在Interface Builder中布局屏幕外/滚动内容的最不痛苦的方法。我目前的方法是调整scrollview内容宽度和高度限制,以查看IB中的所有内容,然后恢复到适当的建筑约束,但这会变得很麻烦。也就是说,我更愿意以图形方式进行更多操作,而不是以编程方式进行更简单的编辑。
我能想到的一般方法是:
更详细地说,我正在尝试构建一个由子视图组成的垂直滚动视图。每个子视图都是自包含的,并且可能出现在多个上下文中,我希望将它们隔离开(事实上,我也嵌入它们,但这不会影响问题)。我想做的是使用IB来布局高复合内容视图。然后,我想再次创建具有容器视图的单个内容视图的外部滚动视图,嵌入复合内容视图。 IE浏览器。左侧的灰色内容视图在右侧嵌入了较高的红色/蓝色内容,我想知道是否可以推断出高度,因此它可能与设备无关(视图是方形的,因此它们将从设备获取它们的宽度)
总结一下,无论如何,我可以从嵌入视图内容的实际高度推导出托管scrollview的contentView高度,还是应该使用方法2,3或其他?
要清楚,自动布局要求滚动视图内容视图定义边缘和宽度/高度尺寸的约束。在我的情况下,我希望能够将宽度预设为设备宽度,但保留从红/蓝内容视图派生的高度。 IB不允许我在Storyboard中的嵌入和嵌入场景之间拖动约束,当我离开场时,它使用原型值作为内容高度。
是否建议在IB中使用占位符大小(3)使内容可见以进行编辑,因为知道运行时约束会正确呈现(即在Storyboard中滚动视图的大小以便所有滚动内容都可见)?相反,即使尝试也是愚蠢的 - 我应该以编程方式(4)完成所有滚动视图内容合成吗?
提前致谢。
占位符约束允许您通过,但强制您更改运行时约束的优先级,并触发IB /布局错误和冲突约束的警告,尽管在冲突的设计时限制上选择占位符复选框
答案 0 :(得分:0)
对静态单元格使用UITableviewController
。单元格将是您的内容视图。
您可以在IB中向下滚动桌面视图以查看底部的单元格,您可以获得一个很好的额外行为,例如在打开键盘时将视图滚动到正确的位置,这样它就不会隐藏您单击的文本字段上。
您根本不必担心滚动视图。
如果要重用内容视图,可以使表格动态化,并按代码提供内容视图。