繁体   English   中英

自动调整所有视图对象大小的正确方法

[英]Correct way to autosize all view objects

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

在此处输入图片说明

我正在使用:

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

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


我试图在界面构建器面板中设置自动调整大小,但是当状态栏更改框架时,没有任何改变。 在此处输入图片说明

没有在每个视图中为每个元素设置框架而在我所有视图中执行此操作的正确方法吗?

谢谢。

使用- (void) application:(UIApplication*)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame不是执行此操作的好地方。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM