问题描述
|
一个快速的iPhone问题,我目前在我的应用程序中使用一个人员选择器,在我的应用程序中使用一个黑色的导航栏,但是该人员选择器以默认的蓝色显示。
我试过了:
picker.navigationBar.backgroundColor = [UIColor blackColor];
但是,它仍然显示为蓝色。
是否可以更改人员选择器上导航栏的颜色?还是由于它是系统模态视图而总是变成蓝色?
编辑:
使用以下颜色作为颜色:
picker.navigationBar.tintColor = [UIColor blackColor];
但是使用:
picker.title = @\"MyText\";
要么
picker.navigationItem.title=@\"MyText\";
要么
self.title=@\"MyText\";
无效,标题始终为\“所有联系人\”
解决方法
UINavigationBar的颜色由其“ 5”属性控制。
您可以通过在
UINavigationBar
上创建类别来更改应用程序中所有导航栏的颜色。请注意,您对类别所做的所有更改都会应用到您应用中该类的所有实例。
在您的类别中,用init
方法更改self.tintColor
。
由于类别会更改您应用中某个类的所有实例,因此使用类别更改文本会比较棘手。而是尝试设置目标视图的ѭ9。
, - (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];
}
, 用于改变ѭ11的颜色
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\" ;