0

我在我的应用程序中使用 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>

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

在此处输入图像描述

问题:

问题是,我在整个应用程序中使用了自定义颜色。该颜色在此短信视图控制器的导航栏颜色中得到反映,如下所示..

在此处输入图像描述

但我不想在这里显示自定义标题颜色。我只想显示默认的。有没有办法将此自定义标题颜色更改为默认颜色?

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

4

2 回答 2

2

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

于 2012-10-09T11:39:09.433 回答
1

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

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

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

于 2012-10-19T08:48:08.897 回答