一个快速的iPhone问题,我目前在我的应用程序中使用了一个人物选择器,我在我的应用程序中使用了黑色导航栏,但是人员选择器以默认的蓝色显示。
我试过了:
picker.navigationBar.backgroundColor = [UIColor blackColor];
然而它仍然以蓝色显示。
是否可以更改人员选取器上导航栏的颜色?或者它是否总是蓝色,因为它是系统模态视图?
修改
使用以下作品颜色:
picker.navigationBar.tintColor = [UIColor blackColor];
然而使用:
picker.title = @"MyText";
或
picker.navigationItem.title=@"MyText";
或
self.title=@"MyText";
不起作用,标题始终保持为“所有联系人”
答案 0 :(得分:2)
UINavigationBar的颜色由其tintColor
属性控制。
您可以通过在UINavigationBar
上创建一个类别来更改应用中所有导航栏的颜色。请注意,您在某个类别中所做的所有更改都会应用于您应用中该类的所有实例。
在您的类别中,在init
方法中,更改self.tintColor
。
由于类别会更改应用中类的所有实例,因此使用类别更改文本会更加棘手。相反,请尝试设置目标视图的title
。
答案 1 :(得分:2)
- (void)showNewPersonViewController {
ABNewPersonViewController *picker1 = [[ABNewPersonViewController alloc] init];
picker1.newPersonViewDelegate = self;
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:picker1];
navigation.navigationBar.tintColor = [UIColor brownColor];
[self presentModalViewController:navigation animated:YES];
[picker1 release];
[navigation release];
}
答案 2 :(得分:1)
用于更改UINavigationController
self.navigationController.navigationBar.tintColor=[UIColor colorWithRed:42/256.0 green:60/256.0 blue:80/256.0 alpha:1.0];
更改UINavigationController
self.text = @"My New text" ;