【问题标题】:UIView not autoresizing subviewUIView 不自动调整子视图
【发布时间】: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>>

我做错了什么?

谢谢

【问题讨论】:

    标签: objective-c cocoa-touch uiview


    【解决方案1】:

    子视图的自动调整大小仅适用于已添加到父视图的子视图。你应该怎么做:

    1. 创建父视图。
    2. 添加子视图。
    3. 为它们设置自动调整大小的蒙版。
    4. 调整父视图的大小。

    只有这样您才会看到子视图正在自动调整大小。

    调整大小后添加子视图将无效。

    【讨论】:

      【解决方案2】:

      自动调整大小仅在父视图的框架发生更改时影响子视图。如果您希望子视图与父视图具有相同的高度,则必须在将其添加为子视图之前或之后将高度设置为相等。

      【讨论】:

        猜你喜欢
        • 2013-01-22
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        • 2023-04-02
        相关资源
        最近更新 更多