我有一个以编程方式生成的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)?
谢谢,
答案 0 :(得分:2)
您应该能够以这种方式将图像设置到导航栏:
UINavigationBar *navBar = navVC.navigationBar;
UIImage *image = [UIImage imageNamed:@"YourNavBarImg.png"];
[navBar setBackgroundImage:image];
这将改变导航栏的色调颜色:
[navVC.navigationBar setTranslucent:NO];
[navVC.navigationBar setBarTintColor:[UIColor redColor]];
将按钮(UIBarButtonItem)导入导航栏:
// where "self" is your current viewcontroller
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:button1,button2, nil];