2013-04-28 64 views
2

我试图修改MFImailComposeViewController的UINavigationBar中的tintColor,但是这似乎不起作用。在MFMailComposeViewController中修改UINavigationBar中的tintColor

[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTintColor:[UIColor whiteColor]]; 
    [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [MFMailComposeViewController class], nil] setTintColor:[UIColor blackColor]]; 

在任何人引用苹果公司说,“邮件撰写界面本身不是定制的,不得通过您的应用程序进行修改”,我以前提交的应用程序,是住在App Store在UINavigationBar的有以类似的方式修改,在审查过程中没有问题。

它工作时,我为这些类在整个应用程序是这样的外观:

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
    [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor blackColor]; 

的问题是,我不希望这些外观设置适用于所有UINavigationBar的/的UIBarButtonItem实例。

我的理解如何使用appearanceWhenContainedIn:不正确?或者是别的什么?

感谢您的帮助一如既往:)

回答

5

这似乎是在iOS版6.x中的一个错误,我打开雷达 - http://openradar.me/radar?id=2984402

苹果回应了我,这是一个已知的重复错误(#12328070),所以它应该尽快解决。

此代码将作为预期的iOS 5

为了解决这个问题,我建议你手动应用你想要什么,当你创建MFMailComposeViewController

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

[mailComposerController.navigationBar setTintColor:[UIColor redColor]]; 

我会更新如果我找到关于这个问题的其他内容,我的答案。

+0

那很不幸,谢谢你的信息丹尼尔! – Kaigi 2013-04-28 04:29:25

+0

嗨,我将错误提交给苹果公司,我们会看看他们说什么。同时,如果我帮助你,你应该对我的答案进行投票并接受它。谢谢 – Daniel 2013-04-28 14:49:17

+0

苹果说我的错误报告是重复的。所以他们知道这件事。如果我帮助过你,请注册并接受我的回答。谢谢。 – Daniel 2013-05-02 15:57:19