UINavigationBar和可用屏幕区域的计算

Ada*_*ach 2 iphone

CGRect fullWindowRect = [UIScreen mainScreen].applicationFrame;
Run Code Online (Sandbox Code Playgroud)

获取可用的rect,减去状态栏是一种简单的方法.随着iPad/iPhone在这些基本系统指标上越来越不同,我想在UINavigationBar到位时停止减去44以获得屏幕高度.定位物品非常重要,这样它们就可以通过自己的高度从屏幕底部偏移,即与屏幕底部对齐.

什么是神奇的功能,当然你不仅应该为两个(或更多)可能的导航栏高度做出争议并记住何时应用它们?我在这里或其他地方找不到答案,但我经常发现"44".

dra*_*ard 12

CGFloat navHeight = self.navigationController.navigationBarHidden ? 0 :
    self.navigationController.navigationBar.frame.size.height;
Run Code Online (Sandbox Code Playgroud)