Ios7 MFMessageComposeViewController的收件人字段不存在';无法在iOS 7中显示
下面的代码在iOS 5/6中运行良好。在iOS 7中,它看起来像这样(红色椭圆形表示强调) 代码: 问题:这是一个简单的代码。是否有其他一些外部属性(可能是呈现视图控制器的属性)影响了这一点?有人有解决办法吗Ios7 MFMessageComposeViewController的收件人字段不存在';无法在iOS 7中显示,ios7,mfmessagecomposeview,Ios7,Mfmessagecomposeview,下面的代码在iOS 5/6中运行良好。在iOS 7中,它看起来像这样(红色椭圆形表示强调) 代码: 问题:这是一个简单的代码。是否有其他一些外部属性(可能是呈现视图控制器的属性)影响了这一点?有人有解决办法吗 谢谢。我发现MFMessageComposeViewController的收件人字段似乎从iOS7中的UINavigationBar外观代理中获取了一些外观。为了解决这个问题,我在我的应用程序中做了以下工作: 创建一个空的自定义UINavigationController子类,该子类不重
谢谢。我发现MFMessageComposeViewController的收件人字段似乎从iOS7中的UINavigationBar外观代理中获取了一些外观。为了解决这个问题,我在我的应用程序中做了以下工作:
[[UINavigationBar appearanceWhenContainedIn:[MyCustomNavigationController class], nil] ...];
我也面临同样的问题,下面是我的解决方案- 在演示您的消息生成器之前(
[self-presentViewController:messageComposer动画:是完成:无];
)
设置
[[UINavigationBar外观]setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]代码>
和在委托方法中
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
UIImage *backgroundImage = [UIImage imageNamed:@"Navigation Bar"];
[[UINavigationBar appearance] setBackgroundImage:backgroundImage forBarMetrics:UIBarMetricsDefault];
[self dismissViewControllerAnimated:YES completion:nil];
}
就这些 那很容易。谢谢我已经在为UINavigationBar
使用一个子类,因此我更改了外观设置,使其仅应用于此导航栏类,即[MyNavBar外观]
。这也解决了这个问题。奇妙的编写和解决方案-而且非常容易实现!这是一个快速而简单的解决方法-只需确保在初始化/分配MFMessageComposeViewController之前添加[UINavigationBar外观]代码段即可
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
UIImage *backgroundImage = [UIImage imageNamed:@"Navigation Bar"];
[[UINavigationBar appearance] setBackgroundImage:backgroundImage forBarMetrics:UIBarMetricsDefault];
[self dismissViewControllerAnimated:YES completion:nil];
}