UIView 不自动调整子视图
Posted
技术标签:
【中文标题】UIView 不自动调整子视图【英文标题】:UIView not autoresizing subview 【发布时间】:2013-04-21 05:22:34 【问题描述】:我有一个 UIView a
启用了 autoresizing subviews
。它的大小是:
<UIView: 0x7650180; frame = (0 0; 320 394); clipsToBounds = YES; autoresize = LM+RM+H; layer = <CALayer: 0x7650230>>
我有另一个 UIView b
添加到视图 a
。查看b
具有灵活的宽度/高度。当我添加它时,我希望它的高度会变为394
,但它仍然与笔尖中的相同(420
):
<UIView: 0x764f720; frame = (0 0; 320 460); autoresize = LM+W+RM+TM+H+BM; layer = <CALayer: 0x764f320>>
我做错了什么?
谢谢
【问题讨论】:
【参考方案1】:子视图的自动调整大小仅适用于已添加到父视图的子视图。你应该怎么做:
-
创建父视图。
添加子视图。
为它们设置自动调整大小的蒙版。
调整父视图的大小。
只有这样您才会看到子视图正在自动调整大小。
调整大小后添加子视图将无效。
【讨论】:
【参考方案2】:自动调整大小仅在父视图的框架发生更改时影响子视图。如果您希望子视图与父视图具有相同的高度,则必须在将其添加为子视图之前或之后将高度设置为相等。
【讨论】:
以上是关于UIView 不自动调整子视图的主要内容,如果未能解决你的问题,请参考以下文章
UIView 子视图不是为 iPad 自动旋转或自动调整大小