我有一个带有tabbarcontroller和navigationcontroller的iOS TabBar应用程序。 在我的详细视图中,我从第一个tab tableviewcontroller推送,我已经与电子邮件共享共享navigationItem.rightBarButtonItem。
我有以下代码:
- (void)share
{
UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:@"Send" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Email",nil];
popupQuery.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
[popupQuery showInView:self.view];
[popupQuery release];
}
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
if ([MFMailComposeViewController canSendMail]){
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
[picker setMailComposeDelegate:self];
[picker setSubject:@"New theme"];
NSString *emailBody = @"Hi there";
[picker setMessageBody:emailBody isHTML:NO];
[self resignFirstResponder];
picker.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
picker.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentModalViewController:picker animated:NO];
[picker release];
}
else{
}
}
}
该应用程序向我显示了构图视图,但是当我尝试使用此视图执行某些操作时(例如,拿起地址或拼写某些内容) - 应用程序与SIGTRAP崩溃。
该应用仅在iOS5,iOS5.1中崩溃。在iOS4.2.1中,一切都很完美。
有什么问题?有什么想法吗?
答案 0 :(得分:1)
根据文档,我建议在创建[MFMailComposeViewController canSendMail]
之前调用MFMailComposeViewController
类方法。我通常也没有[self resignFirstResponder]
行。在调用mailComposeController:didFinishWithResult:error
方法之前,我认为你崩溃了?
答案 1 :(得分:0)
谢谢你们的帮助和时间 这绝对是疯狂的错误。项目有一个西里尔字母。我刚把它重命名为拉丁名字,现在一切正常。我的错:(感谢Evgeniy Shurakov寻求帮助。