Cocoa touch 自动还原视图

Cocoa touch 自动还原视图,cocoa-touch,uiview,uikit,Cocoa Touch,Uiview,Uikit,iOS6在属性AutoResizesSubView上显示: 一个布尔值,用于确定接收器在其边界更改时是否自动调整其子视图的大小。 讨论 当设置为“是”时,接收器会在其边界更改时调整其子视图的大小。默认值为“是” 对于一个非英语母语的人来说,这有点不清晰。“its”是指接收器还是接收器的子视图 它指的是接收器 如果视图A(视图B和C的超级视图)上的autoResizesSubviews设置为YES,那么当A的边界更改时,A将调整B和C的大小。哦,我明白了,所以它不调用sizeToFit?autor

iOS6在属性AutoResizesSubView上显示:

一个布尔值,用于确定接收器在其边界更改时是否自动调整其子视图的大小。
讨论
当设置为“是”时,接收器会在其边界更改时调整其子视图的大小。默认值为“是”


对于一个非英语母语的人来说,这有点不清晰。“its”是指接收器还是接收器的子视图

它指的是接收器


如果视图A(视图B和C的超级视图)上的
autoResizesSubviews
设置为YES,那么当A的边界更改时,A将调整B和C的大小。

哦,我明白了,所以它不调用sizeToFit?autoresizeSubviews有点奇怪。我不是一个完全熟练的布局大师,但我知道,如果这是肯定的,并且视图包含没有灵活的自动调整大小掩码的子视图,则该子视图的内部子视图仍然会调整大小。这一直是我的问题。superview可以绕过设置为使视图刚性的自动调整遮罩,以影响内部子视图的大小/布局。完全违反直觉,足以让我疯狂好几个小时。@TomPace我也有同样的问题,你能告诉我你是怎么解决的吗?@SarimSidd我记不起我做这件事时使用的具体代码了。我只是浏览了11月28日至30日的Git日志,没有任何东西可以作为我的注释解决方案,但我添加了一些方法,询问子视图的首选维度。因此,也许您可以尝试这样做:使您的子视图和内部子视图都为UIViewAutoResizingOne,然后在超级超级视图的边界发生更改时进行任何手动调整。@SarimSidd顺便说一下,我停止使用常量了。这可能是个坏主意,因为它们是抽象的符号,但我怀疑它们是否会改变。我只是记住了这些值的含义和顺序,它们在打开时都是弹簧,不打开时都是支柱。1,2,4,8,16,32=左侧、宽度、右侧、顶部、高度、底部。这使得打字速度更快,并且更容易阅读注释解释。因此,我手动调整autoresizingMask的任何代码行看起来都类似于:adbannerview.autoresizingMask=2+8;//伸缩宽度和顶部,对于英语语法中底部停靠的广告横幅,如果句子指的是接收者的子视图,则单词“its”将更改为其子视图。我对这个布尔运算的机制很好奇。我想知道,如果设置为否,是否会禁用所有子视图的自动调整大小掩码,例如视图范围的即时关闭开关?