gab*_*bac 3 email iphone objective-c modalviewcontroller
我有一个navigationController,我从那里启动ModalViewController.在这个ModalViewController中,我将显示MailComposer,它本身是另一个ModalViewController.
现在,如果用户点击发送按钮,则应该关闭MailComposerView以及其他ModalViewController.为此,我在mailComposerController中调用了一个委托方法.
现在只有MailComposerView将被解雇,但没有其他ModalViewController,我得到以下错误消息
attempt to dismiss modal view controller whose view does not currently appear. self = <UINavigationController: 0x724d500> modalViewController = <UINavigationController: 0x72701f0>
Run Code Online (Sandbox Code Playgroud)
你有什么想法我会做错吗?
第一个ModalView
- (void)addList {
NSLog(@"addList");
//AddListViewController *addListViewController = [[AddListViewController alloc] init];
AddListViewController *addListViewController = [[AddListViewController alloc] initWithStyle:UITableViewStyleGrouped];
addListViewController.delegate = self;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addListViewController];
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = YES;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[addListViewController release]; }
Run Code Online (Sandbox Code Playgroud)
在AddListViewController中调用MailView
MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];
mailComposer.mailComposeDelegate = self;
NSString *subject = [NSString stringWithFormat:@"Group invite for groupname: %@", @"mhm"];
[mailComposer setSubject:subject];
// Fill out the email body text
NSString *emailBody = @"This is an group invite bla bla";
[mailComposer setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:mailComposer animated:YES];
[mailComposer release];
Run Code Online (Sandbox Code Playgroud)
在mailComposerController方法中
[self.navigationController dismissModalViewControllerAnimated:YES];
[self.delegate finishAddList:checkmark andListName:listName.text];
Run Code Online (Sandbox Code Playgroud)
在finsihAddList委托中
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的问题.我有一堆模态呈现的视图控制器.当我试图从可见的一个开始解雇它们,并向下移动堆栈时,我会失败并出现同样的错误.解决方案是关闭堆栈底部的视图控制器.它会解雇它上面的一切.
在您的情况下,我的解决方案将相当于更改mailComposerController方法,以便它只包含一行(不会忽略最顶层的模态vie控制器).
[self.delegate finishAddList:checkmark andListName:listName.text];
Run Code Online (Sandbox Code Playgroud)
我知道你已经解决了你的问题,但认为这对其他人有帮助.
| 归档时间: |
|
| 查看次数: |
3176 次 |
| 最近记录: |