我现在很习惯在 IB 中使用自动调整大小的掩码,但有两个自动调整大小设置我不清楚它们的不同之处:
设置 1
Autosizing with both upper and lower anchors http://dl.dropbox.com/u/11270323/stackoverflow/autosize-mask-0.png
设置 2
Autosizing with only uppper anchor http://dl.dropbox.com/u/11270323/stackoverflow/autosize-mask-1.png
一些上下文。使用这些设置的 UIView 子类是子 subview 。设置 1 为我提供了我想要的行为 - subview 与其父 View 扩展/收缩 - 而设置 2 以一种不明显的方式略有不同。
这两种设置之间的预期布局差异是什么?
谢谢,
道格
最佳答案
设置一:
View 将垂直调整大小,以便保留与父 View 顶部的距离和与父 View 底部的距离。基本上, View 会随着 super View 而增长和缩小;如果 super View 变得高 30 像素,那么这个 View 也会如此。
设置二:
View 将垂直调整大小,以便保留与父 View 顶部的距离,并保留 View 的比例高度。基本上, View 将与 super View 成比例增长;如果 superview 变高 10%,这个 view 也会变高 10%。
请注意这些在实践中有何不同。假设 superview 是 100px 高,subview 是 60px 高,顶部和底部有 20px 的缓冲区。现在让我们将 superview 的大小调整为 150px 高。
一般来说,您通常希望设置 1 中的行为。如果您有一个主/详细 View 拆分顶部/底部,并且您希望这两个部分与 super View 成比例增长,则可以使用设置 2。在这种情况下,您将为两个 View 提供灵活的高度,固定顶 View 的上边距和底 View 的底边距。
关于Xcode 界面生成器。这些自动调整大小的蒙版设置有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828425/