小编Ana*_*nam的帖子

点击MFMailComposeViewController的取消按钮时,不显示操作表

我正试图加入MFMailComposeViewController我的应用程序.当我以模态方式呈现它时,发送按钮工作正常并且发送电子邮件,这意味着在这种情况下发送给委托的结果是正确的.

而当我点击取消按钮时它会挂起应用程序.日志也没有显示错误,只是屏幕变暗,一切都被禁用.显然,结果没有传递给委托(我通过日志检查).它似乎是

(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
Run Code Online (Sandbox Code Playgroud)

每次按下取消按钮时都不会调用.可能这就是为什么没有显示动作表(保存草稿,取消,删除草稿)的原因,因此应用程序就在那里挂起.

我正在使用Apple的示例应用程序(MailComposer)中的确切代码,它在那里工作得很好,但在某种程度上我的失败.:(

如果有人遇到同样的问题并成功解决了,请帮助我.

我的代码:

  -(IBAction)emailButtonPressed:(id)sender{

           Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
       if (mailClass != nil)
          {

          if ([mailClass canSendMail])
            {
              [self displayComposerSheet];
            }
          else
            {
              [self launchMailAppOnDevice];
            }
          }
        else
          {
            [self launchMailAppOnDevice];
          }


}


#pragma mark -
#pragma mark Compose Mail


-(void)displayComposerSheet 
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"Ilusiones"];


    // Set up recipients
     NSArray *toRecipients = [NSArray arrayWithObject:@"anam@semanticnotion.com"]; 

     [picker setToRecipients:toRecipients];
     // …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios4

4
推荐指数
1
解决办法
2814
查看次数

标签 统计

ios4 ×1

iphone ×1

objective-c ×1