我是iOS新手,
我遇到麻烦的一个简单例子是:
如何放置UILabel(或任何UIViews)只是在导航栏和状态栏下面?布局预计是动态的(假设这些视图始终紧靠导航栏,无论导航栏或状态栏的高度如何变化),如下所示:
已经考虑过一些情况:
我知道滚动视图可以使用automaticallyAdjustsScrollViewInsets
中的UIViewController
自动排版。不过这里的情况不允许使用scrollview。
状态栏的高度可以是" 20"的常数值。在大多数iOS设备中,默认导航栏的高度可以是" 44"以同样的方式。不同之处在于,我可以使用[[UIApplication sharedApplication] statusBarFrame
在代码中的任意位置动态获取状态栏的高度,尽管导航栏的高度可以由相同的" get frame&#引用34;方式,我的大多数情况是在导航栏被添加到超级视图之前获得高度,所以我总是从其框架获得0高度。
虽然在大多数情况下,状态栏和导航栏的总高度可以定义为" 64",但由于更多因素,它不是未来考虑的永恒方式新设备可能会更改此值。