【问题标题】:Correct way to autosize all view objects自动调整所有视图对象的正确方法
【发布时间】:2012-07-03 08:08:34
【问题描述】:

当呼叫状态栏出现(状态栏高度变化)时,自动调整或自动移动所有视图组件的正确方法是什么?

我正在使用:

- (void) application:(UIApplication*)application 
                           didChangeStatusBarFrame:(CGRect)oldStatusBarFrame { }

但是这样我需要手动设置所有元素的框架。我认为这不是最好的方法。


我尝试在界面生成器面板中设置自动调整大小,但状态栏更改框架时没有任何变化。

在我的所有视图中是否有正确的方法来执行此操作,而无需为每个视图中的每个元素设置框架?

谢谢。

【问题讨论】:

    标签: iphone objective-c ipad uiview autosize


    【解决方案1】:

    使用- (void) application:(UIApplication*)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame 不是这样做的好地方。

    解决方案将取决于您想要的布局。如果它足够简单,自动调整大小的蒙版就可以正常工作。对于更复杂的布局,您可能希望继承 UIView 并将其用作子视图的容器。然后,您可以覆盖 layoutSubviews 以根据视图的边界执行正确的布局(容器被自动调整大小)。

    对于自动调整大小:例如如果您想让所有标签相对于底部边框固定并具有固定高度:只需在自动调整大小对话框中单击底部间距并移除高度箭头。

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多