当UINavigationController作为UIViewController之后如何去除上部的空白
一般来说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]; }
posted on 2012-05-15 19:31 pengyingh 阅读(1185) 评论(0) 编辑 收藏 举报