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

问题描述 投票:7回答:2

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

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

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

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

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

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

objective-c mfmailcomposeviewcontroller uiappearance
2个回答
1
投票

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

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

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


0
投票

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

UIView.appearance().tintColor = .orange

这很好,但有一个缺陷。编辑时,收件人文本将更改回系统tintColor(蓝色)。

© www.soinside.com 2019 - 2024. All rights reserved.