【发布时间】:2014-01-16 12:37:17
【问题描述】:
我有一个以编程方式生成的UINavigationController 应用于我的每个ViewControllers,但这个UINavigationController 是空白的。我需要添加一些文本、一张图片(如果可能的话)和两个按钮。
我已经设法对一个非常基本的应用程序做了类似的事情,该应用程序只有一个 ViewController 和 UINavigationController 以正常方式创建,但不知道如何处理以编程方式生成的。
我在XCode5/iOS7 中使用故事板。
这是生成UINavigationController 并启动第一个ViewController 的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
MainViewController* mainVC = [mainStoryboard instantiateInitialViewController];
UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:mainVC];
[self.window setRootViewController:navVC];
[_window makeKeyAndVisible];
return YES;
}
我尝试了一些我认为显而易见的事情,例如:
navVC.navigationBar.backgroundColor = [UIColor redColor];
改变颜色或:
[navVC setTitle:@"Test title"];
但没有任何改变,我可以改变标题的唯一方法是改变 mainVC 的标题
[mainVC setTitle:@"Test title"];
更改 MainViewController.m 文件中的标题本身没有任何作用。
那么我该如何修改UINavigationController (navVC)?
谢谢,
【问题讨论】:
-
如果您使用故事板,为什么不将导航控制器放在故事板上,而不是将故事板的内容嵌套到以编程方式创建的导航控制器中呢?可能有一个很好的理由,但我无法想象一个......
-
我需要 NavigationController 成为每个具有静态标题和按钮的 VC 顶部的栏,例如如果有意义的话,每个页面上的布局都完全相同,而不是 VC 之间的实际导航。我能想到的唯一方法是以编程方式生成 NC 并将相同的“实例”应用于每个 VC。卢卡现在似乎已经给出了答案。
标签: objective-c cocoa-touch ios7 xcode5