【发布时间】:2015-08-20 07:37:10
【问题描述】:
我正在构建一个应该能够在几乎任何运行 iOS8+ 的 iOS 设备上运行的应用程序。问题是这意味着我必须支持许多不同的屏幕尺寸。这对UITableViews 来说很容易,但我很难让它在我的注册视图中工作。这是它现在的样子:
相当基本的东西;我基本上只有一个受限于顶部布局指南的“添加照片”按钮,它下方的一堆文本字段,以及一个受限于底部布局指南的“注册”按钮。我想要做的是让所有文本字段从“添加照片按钮”到“注册”按钮均匀分布,以最大限度地利用屏幕空间。如:我希望所有文本字段水平居中,并且它们之间有均匀的空间。
困难的部分是空间是未指定的,因为它会根据设备的大小而有所不同。
有没有办法做到这一点?某种规则告诉文本字段在其顶部和底部邻居之间保持均匀的空间?我现在能做的最好的事情是将所有文本字段限制在固定距离的“添加照片”按钮上,并将“注册”按钮限制在底部,这样对于更大的屏幕,我将拥有大部分内容聚集在顶部,“注册”按钮在底部,对于最小的屏幕(iPhone 4/4S),内容看起来是均匀分布的(应该是这样),因为按下了“注册”按钮向上并且顶部的整个对象簇被向下推。显然这不是一个非常理想的解决方案。
我更喜欢通过故事板进行设置,但必须在代码中进行设置。
【问题讨论】:
标签: ios cocoa-touch autolayout nslayoutconstraint