现在的位置: 首页 > 综合 > 正文

当UINavigationController作为UIViewController之后如何去除上部的空白

2018年05月26日 ⁄ 综合 ⁄ 共 669字 ⁄ 字号 评论关闭

一般来说UINavigationController是作为UIWindow的子view来使用的,例如当你创建一个Navigation类型的应用程序时,系统会将AppDelegate中的navigationController做为window的根控制器

 

self.window.rootViewController = self.navigationController; [self.window.makeKeyAndVisible];

 

UINavigationController在放置自己的位置时,会默认考虑到状态条,并在顶部留出20px的空白位置。

但是当将一个UINavigationController放到一个UIViewController中作为子view控制器存在时,这个白条就让人心烦了。

层级关系如下

UIWindow

- UIViewController

- UINavigationController

要处理这个恼人的白条,只要在UIViewController的继承类的viewDidLoad函数中增加一句话就可以了。

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; [_navController.view setFrame: [self.view bounds]]; [self.view addSubview:_navController.view]; }

抱歉!评论已关闭.