Iphone 邮件组合视图控制器导航栏
我正在设置外观协议,以便为所有导航栏添加自定义图像。这是预期的工作,但我不想改变的外观 MFMailComposeViewController的导航栏 如何使此导航栏成为默认导航栏Iphone 邮件组合视图控制器导航栏,iphone,ios,objective-c,Iphone,Ios,Objective C,我正在设置外观协议,以便为所有导航栏添加自定义图像。这是预期的工作,但我不想改变的外观 MFMailComposeViewController的导航栏 如何使此导航栏成为默认导航栏 [[UINavigationBar appearance] setBackgroundImage:[ApplicationStyle navigationBarImage] forBarMetrics:UIBarMetricsDefault]; appearance代理允许您通过-appearanceWhenCon
[[UINavigationBar appearance] setBackgroundImage:[ApplicationStyle navigationBarImage] forBarMetrics:UIBarMetricsDefault];
appearance
代理允许您通过-appearanceWhenContainedIn方法修改包含在特定类中的UI的外观。您可以将图像设置为nil,以防止其显示在MFMailComposeViewController类中,如下所示。
[[MFMailComposeViewController类]中包含的[UINavigationBar外观,无]setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]
根据这个问题,您需要在呈现模态MFMailComposeViewController之前和之后更改外观代理,以便将其外观更改回原来的样子
我试过了,但它不起作用。奇怪的是,我使用上述代码的目的完全相同,而且效果非常好。关于同一问题的所有其他问题也提供了相同的答案。你确定你没有在其他地方覆盖navigationBar外观吗?你能确认这在iOS 6中有效吗?我没有在其他地方覆盖外观吗?我搜索时没有看到那篇文章