2011-05-30 60 views
2

一個快速的iPhone問題,我目前在我的應用程序中使用人員選擇器,我在我的應用程序中使用黑色導航欄,但人員選擇器以默認的藍色顯示。iPhone - 人員選取器,是否可以更改naviagtion欄的顏色和文字?

我曾嘗試:

picker.navigationBar.backgroundColor = [UIColor blackColor]; 

但是它仍然顯示藍色。

是否可以更改人員選擇器上導航欄的顏色?或者它總是會變成藍色,因爲它是系統模態視圖?

編輯:

使用的顏色以下工作:

picker.navigationBar.tintColor = [UIColor blackColor]; 

但是使用:

picker.title = @"MyText"; 

[email protected]"MyText"; 

[email protected]"MyText"; 

不行的,標題始終保持爲「所有聯繫人」

回答

2

一個UINavigationBar的的顏色是由其tintColor屬性控制。

您可以通過在UINavigationBar上設置類別來更改全部導航欄的顏色。請注意,您在類別中所做的所有更改都將應用於您應用中該類的所有實例。

在您的類別中,在init方法中,更改self.tintColor

由於類別會更改應用程序中類的所有實例,因此使用類別更改文本會更加棘手。相反,請嘗試設置目標視圖的title

+0

文本,你知道,如果蘋果商店接受變更後的地址簿顏色應用顏色的? – Sefran2 2011-12-03 09:46:07

+0

@Fran - 我認爲他們做了,但我不確定。在這一點上,你不應該再使用類別了,因爲iOS 5增加了自定義原生UI控件的新方法。 – Moshe 2011-12-03 22:57:28

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" ; 
+0

謝謝,tintcolor的作品,但self.text沒有,在peoplepicker上的標題仍然是「所有聯繫人」 – 2011-06-02 15:53:38

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]; 
} 
+0

這使應用程序崩潰 – 2013-02-26 11:30:11

相關問題