2009-06-27 21 views
6

我的应用使用iPhone SDK 3.0的新应用内电子邮件功能。iPhone SDK 3.0应用内电子邮件 - 更改导航栏色调颜色

我想将电子邮件用户界面的色调更改为黑色并使其变为半透明。

我尝试下面的代码,

/* 
picker.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
picker.navigationController.navigationBar.translucent = YES ; 
*/ 

但它更改创建视图的颜色,

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 

撰写窗口,而不是撰写窗口本身。

这是否至少有可能?或者我们应该坚持苹果提供蓝色本身?

回答

0

是的,这是可能的。

只需在UINavigationBar类中添加一个Objective-c类别来覆盖drawInRect方法。 这样你就可以做到。

的缺点,你所有的导航栏将会改变:)

+0

不确定如果你这样做你的应用程序将被批准。 – Grouchal 2009-07-05 12:08:02

5

由于MFMailComposeViewController是的UINavigationController的一个子类,只要做到这一点:

[[picker navigationBar] setTintColor:[UIColor redColor]]; 
0

你也可以试试这个代码....

MFMailComposeViewController *mailComposeView = [[MFMailComposeViewController alloc] init]; 
mailComposeView.navigationBar.tintColor = [UIColor cyanColor]; 
0

[选取器的导航栏] setTintColor:[的UIColor黑色]];

....取消和发送按钮也变为黑色。它们不是蓝色的,按下时不会改变颜色。