を私はこのような現在のウィンドウの上に追加されたのWebViewオブジェクト(aWebView)持っている -メールインタフェースは、iOSが動作していないキャンセルボタン - MFMailComposeViewControllerクラス
UIWindow *webWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320,460)];
[webWindow addSubview:aWebView];
[webWindow makeKeyAndVisible];
を私はサブビューでのViewController(viewcontrollerobj)を持っていますaWebView -
[webView addSubview:viewcontrollerobj.view];
その後、私はViewController-
[sviewcontroller sendInAppMail];
でsendInAppMailメソッドを呼び出しています
SendInAppMailは、次のようになります - 罰金を示してViewControllerを
- (void)mailComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MFMailComposeResultCancelled:
break;
case MFMailComposeResultSent:
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
メール -
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は次のようになります。問題は、私がキャンセルを押すと削除/保存のドラフトオプションが表示され、削除/保存のいずれかをクリックした後にメールビューコントローラが消えないということです!
私はコンソールを見てみると、それは、このログメッセージを示して - 「そのスーパービューによってクリップアクションシートを提示するいくつかのコントロールはタッチに反応しない可能性がありますiPhoneにしてみてください - [UIActionSheet showFromTabBar:]。。または - [UIActionSheet showFromToolbar:]の代わりにの - [UIActionSheet showInView:]。 " 私はUIActionSheetをどこにも使用しておらず、過去に使用していないので、何を言っているのか理解できません。
私はこれを見ました - https://stackoverflow.com/a/6015957/516938 しかし、それは与えられた解決策が状況に非常に特有であるようです。
私はそのタッチをブロックするとは思わない。私が最初にキャンセルを押すと、削除/保存草案オプションが表示されるので。私はdidFinishWithResultでNSLOgステートメントを使って再度実行しました。それは全く呼び出されていないようです。理想的には、私がドラフトの削除を押すと、それが呼び出され、メールダイアログ全体が消えるはずです! – arank
OMG! "mailComposeController"ではなく、 "mailComposeViewController"ではなく、間違って間違っている – arank
ハハ!おっとっと。あなたが問題を発見してうれしいです。 –