我对如何在超出相关UIView的UIScrollView上定位控件感到困惑。
我有一个需要填写的长表单,它位于一个长UIScrollView上。我已经阅读(但不能相信)没有办法使用InterfaceBuilder来定位控件,而是你必须硬编码X \ Y coords。在代码中(或在IB中,但它们仍然不会显示为WYSIWIG)
你真的必须使用硬编码的坐标吗?
如果是,那么实现这一目标的最佳方法是什么?如果某些控件变得“隐藏”怎么办...那么你是否需要让代码在页面上进一步向下移动所有控件的坐标?
更好的方法是将所有控件放在不同的视图上,然后将这些视图添加到UIScrollView(至少你可以在IB中“看到”它们......)
我希望我遗失一些东西: - )
答案 0 :(得分:0)
您无需在代码中执行所有操作。
您可以为嵌入式UIView创建一个XIB文件。这可以和你需要的一样大。然后有一个视图控制器加载这个XIB,并将其视图添加到滚动视图(适当地设置内容大小。)
至于隐藏控件 - XIB文件可能无法帮助你。但您可以隐藏控件并调整代码中其他控件的坐标。 (并在必要时更改滚动视图的内容大小。)这可能是在滚动视图的内容视图的不同子视图中使用不同控件的原因。
答案 1 :(得分:0)
在IB中,您可以在层次结构的顶部创建UIScrollView,并为其指定所需的高度。然后,您可以以所见即所得的方式设置您想要的元素。完成后,只需将UIScrollView的大小设置为您想要的大小,并将其设置在ViewController的UIView层次结构下,最后在代码中,将UIScrollView的内容大小设置为它所需的大小。容易!
我建议您阅读http://www.uxbooth.com/blog/mobile-form-design-strategies/,如果您想以用户友好的方式设计长格式,这是一个很好的建议:)