邮件界面取消按钮不工作ios - MFMailComposeViewController类

时间:2011-12-03 10:21:18

标签: ios uiviewcontroller uiwebview

我有一个webview对象(aWebView),它被添加到当前窗口之上 -

UIWindow *webWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320,460)];
[webWindow addSubview:aWebView];
[webWindow makeKeyAndVisible];

我有一个ViewController(viewcontrollerobj),它是aWebView的子视图 -

[webView addSubview:viewcontrollerobj.view];

然后我在ViewController中调用sendInAppMail方法 -

[sviewcontroller sendInAppMail];

SendInAppMail看起来像这样 -

    MFMailComposeViewController *mailController = [[[MFMailComposeViewController alloc] init] autorelease];
    if([MFMailComposeViewController canSendMail])
    {
        [mailController setMessageBody:@"hello" isHTML:NO];
        [mailController setSubject:@"subject"];
        mailController.mailComposeDelegate = self;  
        [self presentModalViewController:mailController animated:YES];
        [mailController release];
    }

didFinishWithResult看起来像这样 -

- (void)mailComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    switch (result) {
        case MFMailComposeResultCancelled:
            break;
        case MFMailComposeResultSent:
            break;
        default:
            break;
    }

    [self dismissModalViewControllerAnimated:YES];
}

邮件viewcontroller显示正常。问题是当我点击取消时它显示删除/保存draf t选项,点击删除/保存后,邮件视图控制器不会消失!

当我查看控制台时,它会显示此日志消息 - “显示由其超级视图剪切的动作表。某些控件可能无法响应触摸。在iPhone上尝试 - [UIActionSheet showFromTabBar:]或 - [UIActionSheet showFromToolbar:]而不是 - [UIActionSheet showInView:]。” 我没有在任何地方使用UIActionSheet,过去没有使用过,所以我无法理解它的含义。

我看了这个 - https://stackoverflow.com/a/6015957/516938 但似乎给出的解决方案非常具体。

1 个答案:

答案 0 :(得分:-1)

不确定这是什么问题,但这是我要看的第一件事。

根据您获得的错误消息,它听起来像其中一个视图(aWebView或您定义的viewcontrollerobj中的一个)不允许{{1 }},意思是它的尺寸小于MFMailComposeViewController要求的尺寸。它实际上并没有剪切内容,所以你看到它,但它阻止了触摸,因此它们没有到达MFMailComposeViewController

我希望这很清楚 - 我很难在这里正确地描述我的想法。