如何更改MFMailComposeViewController文本和按钮图像的颜色?

时间:2015-04-21 11:59:21

标签: objective-c mfmailcomposeviewcontroller uiappearance

iOS在MFMailComposeViewController中为所有彩色文本使用标准(蓝色)色调颜色。这对我来说不好,因为客户希望他的公司颜色在应用程序中。如何将颜色改为橙色?

我具体询问按钮图标(添加图像和铃声图像)的颜色以及包含邮件地址的文本。我已经改变了导航栏的颜色。在文档中,写有:

  

此类的视图层次结构是私有的,您不能修改它。但是,您可以使用UIAppearance协议自定义实例的外观。

我试图使用它,但它不起作用(我可能做错了,因为我不知道UIAppearance)。这就是我的尝试:

        [[UIButton appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];

        [[UILabel appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTextColor:[UIColor orangeColor]];

enter image description here

2 个答案:

答案 0 :(得分:1)

正如Apple所说:https://developer.apple.com/library/ios/documentation/MessageUI/Reference/MFMailComposeViewController_class/index.html

  

此类的视图层次结构是私有的,您不能修改   它。但是,您可以使用自定义实例的外观   UIAppearance协议。

无论如何,你可以查看这篇文章: Customizing automatic MFMailComposeViewController opened from UITextView

答案 1 :(得分:0)

我也遇到了这个问题。只需使用:

platform-tools

这很好,但是有缺陷。编辑时,收件人的文本将变回系统tintColor(蓝色)。