更改导航栏颜色inMFMailComposeViewController

时间:2013-11-22 19:55:25

标签: ios objective-c

疯狂地试图弄清楚为什么我无法改变这个控制器的背景颜色...它改变了文本,而不是背景......我错过了什么?

if ([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
    // set nav bar color
    UIColor *titleColor = [UIColor colorWithRed: 20.0/255.0 green: 33.0/255.0 blue:61.0/255.0 alpha: 1.0];
    [mailer.navigationBar setTintColor:titleColor];

2 个答案:

答案 0 :(得分:1)

setTintColor:是在iOS6及更低版本上设置条形颜色的方法。在iOS7 +上,使用setBarTintColor:

答案 1 :(得分:0)

在您的App Delegate -(void)applicationDidFinishLaunching中,您应该包含以下行:

[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed: 20.0/255.0 green: 33.0/255.0 blue:61.0/255.0 alpha: 1.0]];

然后,整个应用程序中的所有导航栏都将具有该色调。 UIAppearance类非常强大,适用于自定义大多数UI元素

注意:这仅与iOS 5 +

兼容