UINavigationBar没有出现

时间:2013-04-13 16:37:57

标签: ios objective-c xcode uinavigationbar xib

我无法理解导航条没有出现的原因。

例如,我尝试像这样添加导航栏:

1) File -> new project -> single view application -> storyboard -> viewcontroller -> attributes inspector -> Top Bar -> Navigation Bar. 

它出现在故事​​板上,但在应用程序在模拟器上运行时不会出现

此外,我无法理解为什么它不会显示为子视图 在viewDidLoad

UINavigationBar *navBar = [[UINavigationBar alloc] init];

[self.view addSubview:navBar]; 

1 个答案:

答案 0 :(得分:2)

这不是您在Storyboard中为视图添加导航栏的方式。

执行此操作的常规方法是在故事板中选择View Controller,然后在菜单中选择“编辑器”,然后“嵌入”=> “导航控制器”。

您应该会看到一个导航控制器,其中箭头连接到原始视图控制器。

然后,选择新出现的导航控制器,选中检查器中的“是初始视图控制器”复选框,以及中提琴,它应该可以满足您的需要。

您不会通过UINavigationBar自定义导航栏。相反,您可以通过更改视图控制器的navigationItem来自定义导航栏中显示的内容。

在视图控制器的viewDidLoad:中,尝试以下操作:

self.navigationItem.title = @"My Title";
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemCamera target: self action: @selector( whatEverMethod: )];

您应该会在视图控制器中看到正确的条形按钮和标题。

-

“属性检查员”=> “顶部栏”的作用是向您展示视图将是什么样的如果它嵌入在导航控制器中。它实际上并没有为您添加导航栏。

如果你仔细观察,你会发现“顶部栏”选项位于一个名为“模拟指标”的部分中。(它们只是模拟的,没有真正添加到你的视图中)