我有一个反馈按钮在我的ios 7应用程序与MFMailComposeViewController。用户单击此按钮后,mailcomposer将打开,但statusbar更改为黑色。有人知道我能做什么吗?
我只对ios7有这个问题。我为ios7定制了应用程序。
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
mailController.mailComposeDelegate = self;
[mailController setSubject:@"Feedback"];
// Fill out the email body tex
NSString *emailBody = [NSString stringWithFormat:@"testest"],
[UIDevice currentDevice].model,
[UIDevice currentDevice].systemVersion];
[mailController setMessageBody:emailBody isHTML:NO];
[mailController setToRecipients:[NSArray arrayWithObjects:@"support@test.com",nil]];
dispatch_async(dispatch_get_main_queue(), ^{
[self presentModalViewController:mailController animated:YES];
}发布于 2013-10-04 19:32:24
在您的UIApplication statusBarStyle的presentViewController完成块中设置MFMailComposeViewController。即
MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init];
[self.navigationController presentViewController:mailVC animated:YES completion:^{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}];您还可能需要在Info.plist文件中将“基于视图控制器的状态栏外观”添加和/或设置为NO。
发布于 2013-09-25 12:52:26
尝试将类别添加到MFMailComposeViewController
编辑:如果“查看基于控制器的状态栏外观”==是有效的,则此解决方案有效。
@implementation MFMailComposeViewController (IOS7_StatusBarStyle)
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
-(UIViewController *)childViewControllerForStatusBarStyle
{
return nil;
}
@end发布于 2015-10-29 14:00:32
快速解决方案。将View controller-based status bar appearance设置为YES
import UIKit
import MessageUI
import AddressBookUI
extension MFMailComposeViewController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
override func childViewControllerForStatusBarStyle() -> UIViewController? {
return nil
}
}
extension ABPeoplePickerNavigationController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
override func childViewControllerForStatusBarStyle() -> UIViewController? {
return nil
}
}https://stackoverflow.com/questions/18945390
复制相似问题