Sal*_*uts 6 uinavigationbar ios uiappearance
我在我的应用程序的导航控制器中有一个自定义的navBar图像,使用UIAppearance协议设置.但是,当通过应用程序(通过MFMailComposeViewController)发送邮件时,我想要默认的navBar而不是自定义的navBar.我尝试了这个问题中概述的方法:UIAppearance为UIPopoverController删除自定义NavBar背景,但它不起作用.我使用的代码是:
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
但它没有任何效果.我的应用程序是iOS 6+.这是特定的东西MFMailComposeViewController还是我错过了这个?
编辑:尝试的其他方法:
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
mailer.navigationBar.barStyle = UIBarStyleBlack;
[self.navigationController presentViewController:mailer animated:YES completion:nil];
[mailer.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
设置UIBarStyleBlack有一些效果,因为"取消"按钮随后变为黑色,但背景图像仍然设置为旧值.
尝试这样的事情:
MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];
[mail.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
这应该仅重置此实例的背景图像。
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |