我的导航栏不在视图的顶部 - 以编程方式

时间:2013-06-04 22:31:45

标签: ios uinavigationcontroller uinavigationbar

我正在使用以下内容创建UINavigationBar,

    UINavigationController *navigationController = [[UINavigationController alloc] init];
    [view addSubview: navigationController.view];

为什么会这样出现?

simulator http://gyazo.com/2f93b5b0c1f4c49e234b9d4ac964c606.png

我希望它位于视图的顶部,但那里有空间,为什么?

感谢。

2 个答案:

答案 0 :(得分:0)

你没有正确创造东西。您应该创建视图控制器,然后创建导航控制器,将视图控制器作为导航控制器的根控制器传递。然后你将导航控制器作为应用程序的根控制器。

UIViewController *vc = ... // create your view controller
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc];
window.rootViewController = nc;

您发布的代码不会创建导航栏,而是会创建整个导航控制器。

答案 1 :(得分:-2)

将此代码放入ViewWillAppear

- (void)viewWillAppear {
    UINavigationController *navigationController = [[UINavigationController alloc] init];
    [view addSubview: navigationController.view];
}

此外,您应该将导航控制器调整为自控制器亮度

相关问题