如何更改MFMessageComposeViewController的联系人选择器的标题颜色和文本?

时间:2012-10-09 10:26:21

标签: objective-c colors mfmailcomposeviewcontroller titlebar mfmessagecomposeview

我在我的应用程序中使用MFMessageComposeViewController,使用以下代码在应用程序中显示发送短信功能。

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
picker.messageComposeDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];

此外,您还需要将.h文件中的委托和头文件导入为

#import <MessageUI/MessageUI.h>
...
@interface YourViewController : UIViewController <....., MFMessageComposeViewControllerDelegate>

短信视图控制器看起来像..

enter image description here

问题:

问题是,我在整个应用程序中使用了自定义颜色。这种颜色在这个sms视图控制器的导航栏颜色中得到反映,就像这样..

enter image description here

但我不想在这里显示自定义标题颜色。我只想显示默认值。是否可以将此自定义标题颜色更改为默认颜色?

注意:我在Appdelegate的didFinishLaunchingWithOptions方法中添加了自定义导航标题颜色

2 个答案:

答案 0 :(得分:2)

您可以使用UIAppearance appearanceWhenContainedIn,然后添加适用的类。

答案 1 :(得分:1)

我通过以下代码获得了解决方案..

[[UINavigationBar appearanceWhenContainedIn:[ABPeoplePickerNavigationController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];    
[[UIBarButtonItem appearanceWhenContainedIn:[ABPeoplePickerNavigationController class], nil] setBackgroundImage:nil forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

在这里,我只是将nil定义为ABPeoplePickerNavigationController类的背景颜色。我的应用程序中的所有其他类将具有相同的导航栏颜色和相同的后退按钮的颜色(即,我添加到导航栏在AppDelegate中的外观的自定义颜色)。