我在自定义iOS7中的MFMailComposeViewController时遇到问题。我试图隐藏和删除标题,因为我有一个自定义的导航外观,我希望将其彻底带入邮件视图控制器。我正在使用它,它在iOS6上可以正常工作,但第一次在iOS7上无法正常工作。当我打开视图并取消邮件,然后再次打开控制器时,它将起作用。问题是第一次出现邮件控制器。这是我正在使用的代码:
if ([MFMailComposeViewController canSendMail]) {
UIView* parentView = [self showProgress];
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
if ([[UINavigationBar class] respondsToSelector:@selector(appearance)])
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor lightGrayColor], UITextAttributeTextShadowColor, [NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset, [UIFont fontWithName:@"CourierNewPS-BoldMT" size:1], UITextAttributeFont, [UIColor whiteColor],UITextAttributeTextColor, nil]];
[controller setToRecipients:[NSArray arrayWithObject:[LNController shared].profile.email]];
[controller setSubject:NSLocalizedString(@"APPSTORE_NAME", nil)];
NSData* energyData = [[self createEnergyCSVFile] dataUsingEncoding:NSUTF8StringEncoding];
NSData* timeData = [[self createTimeCSVFile] dataUsingEncoding:NSUTF8StringEncoding];
[controller addAttachmentData:energyData mimeType:@"text/csv" fileName:NSLocalizedString(@"ENERGY", nil)];
[controller addAttachmentData:timeData mimeType:@"text/csv" fileName:NSLocalizedString(@"TIME", nil)];
[[[[controller viewControllers] lastObject] navigationItem] setTitle:@""];
[self presentViewController:controller animated:YES completion:nil];
[self hideProgress:parentView];
}
有人以前经历过吗?任何帮助都是极好的。
您必须直接在上设置自定义代码MFMailComposeViewController
。这是我的一个应用程序中的一个示例:
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
// Fix UI -- Add your custom UI here
[mailViewController.navigationBar setTintColor:[UIColor whiteColor]];
[mailViewController.navigationBar setBarTintColor:[UIColor whiteColor]];
// Set params
[mailViewController setToRecipients:@[@"[email protected]"]];
[mailViewController setSubject:NSLocalizedString(@"Feedback", @"Feedback")];
[self presentViewController:mailViewController animated:YES completion:^{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}];
}
编辑:这是仅适用于iOS 7的应用程序,因此也请添加所需的检查,以使其在iOS 6上不会崩溃
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句