Xcode Interface Builder.这些自动调整遮罩设置有何不同之处?

我现在非常习惯在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子类是子子视图.设置1给了我想要的行为 – 子视图使用其父视图扩展/收缩 – 而设置2以非显而易见的方式略有不同.

这两个设置之间的预期布局差异是什么?

谢谢,
道格

解决方法

设置1:
视图将垂直调整大小,以便保留超视图顶部的距离和超视图底部的距离.基本上,视图将与superview一起增长和缩小;如果超级视图高出30像素,那么这个视图也是如此.

设置2:
视图将垂直调整大小,以便保留与超视图顶部的距离,并保留视图的比例高度.基本上,视图将与superview成比例增长;如果超级视图高出10%,这个视图也会高出10%.

注意这些在实践中有何不同.假设superview是100px高,子视图是60px高,顶部和底部有20px缓冲区.现在让我们将superview调整为150px高.

>设置1:子视图增长以保持20px的边距,变为110px高.
>设置2:子视图增长50%(60px – > 90px).上边距仍然是20px,但下边距现在是40px.

通常,您通常需要设置1中的行为.如果您有一个主/详细视图拆分顶部/底部,您可能会使用设置2,并且您希望这两个部分与超级视图成比例增长.在这种情况下,您可以为两个视图提供灵活的高度,固定顶视图的上边距和底视图的下边距.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...