2

一个快速的 iPhone 问题,我目前在我的应用程序中使用人员选择器,我在我的应用程序中使用黑色导航栏,但人员选择器以默认的蓝色显示。

我努力了:

picker.navigationBar.backgroundColor = [UIColor blackColor];

但是它仍然以蓝色显示。

是否可以更改人员选择器上导航栏的颜色?还是它总是蓝色的,因为它是一个系统模态视图?

编辑:

对颜色使用以下作品:

picker.navigationBar.tintColor = [UIColor blackColor];

但是使用:

picker.title = @"MyText";

或者

picker.navigationItem.title=@"MyText";

或者

self.title=@"MyText";

不起作用,标题始终保持为“所有联系人”

4

3 回答 3

2

UINavigationBar 的颜色由其tintColor属性控制。

您可以通过在 上创建类别来更改应用中所有导航栏的颜色UINavigationBar。请注意,您在某个类别中所做的所有更改都将应用于您应用中该类别的所有实例。

在您的类别中,在init方法中,更改self.tintColor.

由于类别会更改应用程序中类的所有实例,因此使用类别更改文本会更加棘手。相反,请尝试设置title目标视图的 。

于 2011-05-30T14:56:18.640 回答
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];   
}
于 2011-05-30T16:51:22.977 回答
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" ;
于 2011-05-30T15:09:41.247 回答