Iphone 更改MFMailComposeViewController中导航的主标题颜色

Iphone 更改MFMailComposeViewController中导航的主标题颜色,iphone,objective-c,xcode,cocoa-touch,Iphone,Objective C,Xcode,Cocoa Touch,在普通viewController上更改导航主标题的颜色没有问题,但在MFMailComposeViewController上,这是不可能的。 我可以更改按钮的颜色(取消和发送),我可以设置导航栏的背景,但无法更改标题的颜色。我不想设置新的标题(显然,苹果不允许这样做),我只想更改颜色:'( 请帮帮我。 谢谢 或 希望它对您有用。对于黑色以外的颜色,请使用以下代码: MFMailComposeViewController *mailController = [MFMailComposeView

在普通viewController上更改导航主标题的颜色没有问题,但在MFMailComposeViewController上,这是不可能的。 我可以更改按钮的颜色(取消和发送),我可以设置导航栏的背景,但无法更改标题的颜色。我不想设置新的标题(显然,苹果不允许这样做),我只想更改颜色:'(

请帮帮我。 谢谢


希望它对您有用。

对于黑色以外的颜色,请使用以下代码:

MFMailComposeViewController *mailController  = [MFMailComposeViewController new];

            [mailController.navigationBar setTintColor:[UIColor colorWithHue:240.0f/359.0f
                                                                  saturation:85.0f/100.0f 
                                                                  brightness:60.0f/100.0f 
                                                                       alpha:0.0f]];

这是iOS 7、8、9和10的正确答案:

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[[picker navigationBar] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:NSForegroundColorAttributeName]];
原因如下:

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[[picker navigationBar] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:NSForegroundColorAttributeName]];
上面的复选标记答案(由Mani)参考
[UINavigationBar外观]
不正确,因为它会更改弹出
MFMailComposeViewController
UINavigationBar
中标题的颜色,这是我不想要的效果。您需要像我的代码一样特别获取选择器的导航栏

从iOS 7开始,设置
tintColor
也不正确(另一个答案由Mani提供),因为它设置的是按钮的颜色,而不是标题


另外,
uitexttributetextcolor
现在已被弃用,请使用
NSForegroundColorAttributeName

参考此链接:这不是我搜索的内容,在这里您可以更改导航栏的颜色(我已经有了背景),我想更改标题的颜色。这会在整个应用程序中更改颜色,但不会在mfmailcompose.IOS 12中更改。
MFMailComposeViewController *mailController  = [MFMailComposeViewController new];

            [mailController.navigationBar setTintColor:[UIColor colorWithHue:240.0f/359.0f
                                                                  saturation:85.0f/100.0f 
                                                                  brightness:60.0f/100.0f 
                                                                       alpha:0.0f]];
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[[picker navigationBar] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:NSForegroundColorAttributeName]];