IOS获取状态栏和NavigationBar的高度

在IOS开发中,如果是手动用代码创建视图和调整位置,经常需要使用到状态栏和NavigationBar的高度,下面我们来看看如何获取它们的高度。

let barHeight = self.navigationController!.navigationBar.frame.height   //顶部NavigationBar高度
let statusHeight = UIApplication.sharedApplication().statusBarFrame.height  //状态栏高度

由于我现在在做IOS的项目,所以根据我的实际情况顺便聊一下IOS开发中需要用到上面高度的情况。

倘若用的UINavigationController,并且RootViewController指定的是一个UIViewController,那么当你用代码进行视图创建和调整坐标位置的时候,NavigationBar之类的高度必须计算进去,不然会被Bar挡住。

当然,也可以使用如下的方法:

self.edgesForExtendedLayout = UIRectEdge.None
self.navigationController!.navigationBar.translucent = false

前一个参数可以让整个View的视图不被顶部Bar和底部Bar挡住,当这样会导致导航栏变灰,这也是因为导航栏透明度的问题,下面一个参数将透明度设为不透明,就可以解决这个问题了。


最近确实在赶工一个IOS的app项目,本人也是从头开始学习并开发的。不过还好,感觉上手很快,目前我也是几乎全部使用代码进行视图的创建和位置调整,因为代码控制起来比较方便。

所以最近也没有写什么博客文章了,只能偶尔写写开发项目中的一些东西。

发表评论

电子邮件地址不会被公开。