两个ModalViewController

2023-12-11

我有一个 navigationController,从中启动 ModalViewController。 在此 ModalViewController 中,我将显示 MailComposer,它本身是另一个 ModalViewController。

现在,如果用户点击发送按钮,MailComposerView 以及其他模态视图控制器都应该被关闭。为此,我在 mailComposer 控制器中调用委托方法。

现在只有 MailComposerView 将被解雇,但其他 ModalViewController 不会被解雇,我收到以下错误消息

attempt to dismiss modal view controller whose view does not currently appear. self = <UINavigationController: 0x724d500> modalViewController = <UINavigationController: 0x72701f0>

你有什么想法我会做错吗?

第一个模态视图

- (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];    }

在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]; 

在 mailComposerController 方法中

[self.navigationController dismissModalViewControllerAnimated:YES];
[self.delegate finishAddList:checkmark andListName:listName.text];

在 finsihAddList 委托中

[self dismissModalViewControllerAnimated:YES];

我有类似的问题。我有一堆模态呈现的视图控制器。当我尝试从可见的开始并向下移动堆栈时,我会因同样的错误而失败。解决方案是关闭堆栈底部的视图控制器。它会忽略它之上的所有内容。

在您的情况下,我的解决方案相当于更改 mailComposerController 方法,使其仅包含一行(不会忽略最顶层的模态 vie 控制器)。

[self.delegate finishAddList:checkmark andListName:listName.text];

我知道您已经解决了问题,但我认为这可能对其他人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两个ModalViewController 的相关文章

随机推荐

  • ado.net 使用“using”语句时关闭连接

    我正在像这样对 SQL Server 进行数据库访问方法 using SqlConnection con new SqlConnection connection string using SqlCommand cmd new SqlCom
  • 优化插入符的灵敏度似乎仍然可以优化 ROC

    我正在尝试使用插入符号来最大化我的模型选择的灵敏度rpart 为此 我尝试复制此处给出的方法 向下滚动到使用用户定义函数 FourStat 的示例 caret 的 github 页面 create own function so we ca
  • 如何创造漩涡/漩涡效果?

    我试图在作为传感器的圆形体上产生涡旋效果 我一直在寻找这个 我寻找的所有示例都是用 C 或 Objective C 编写的 但我似乎没有很好地翻译它们 当我的对象碰撞时 它调用 beginContact 并设置一个标志 以便我可以调用 bo
  • window.open(url, windowname, opts) 在新选项卡中打开,而不是在 Firefox 中打开新窗口

    似乎 尝试在jsfiddle window open http www google com window name width 400 height 320 完全停止在 Firefox 中打开新窗口 无论您输入什么内容作为 window
  • 针对客户和员工的 Spring Security 用户身份验证

    我是 Spring Security 的新手 我有一个带有两种不同类型实体的 Spring Boot 应用程序 客户和员工 在员工中 我有普通员工 管理员和超级用户 由于我使用的是 JPA 因此每个实体都有自己的repository 如何建
  • Oracle 数据访问组件 64 位无法在 IIS Express 7.5 中工作

    我已经安装了 ODAC Oracle 数据访问组件64 bit odp net 4 但不幸的是它不能与 IIs Express 一起使用 IIS Express文档说它支持32位和64位系统 它是否可以与 odp net 4 64 位 一起
  • 到底为什么我们需要 React.forwardRef ?

    假设我有一个带有可滚动子组件的组件 并且我想公开滚动的功能 const MyComponent props gt return
  • 2 个“样式”内联 css img 标签?

    我有以下标签 img src http img705 imageshack us img705 119 original120x75 png style width 100px alt 25 我已经将两个内联 CSS 命令放入 style
  • 如何通过命名空间获取属性的值

    我想获取属性的内容xsi 架构位置 它与 php 中的 getElementsByTagName 完美配合 以及之后的 foreach 但它很丑 对吗 如何通过简单的 Xpath 查询获得相同的内容 这是 xml 内容的简短示例
  • JQuery 或 vanilla Javascript 中的 DOM Mutation 事件

    JQuery 或普通 Javascript 中是否存在触发跨浏览器的 DOM 突变事件 为了澄清这一点 假设我的页面上有一个脚本 它将一个 div 插入到正文中 我无权访问该脚本 也不知道 div 何时被插入 我想知道是否有一个 DOM 突
  • Visual Studio Code 不运行 Python

    我在 Windows 10 上使用最新版本的 Visual Studio Code 和 Python 3 6 64 位 我安装了 Python 扩展 微软制作的扩展 每次我尝试运行一个简单的程序 例如 print Hello World 时
  • jquery .load() 函数在phonegap下不起作用

    jquery load 函数在 iPad 上的 PhoneGap 下不起作用 它在移动 Safari 中工作得很好 但它在 Phonegap 应用程序中不起作用 任何帮助 将不胜感激 更新 代码如下 this image container
  • 理解 C 命名空间

    引用自here 在 C 中 有两种不同的类型命名空间 struct union enum 标记名称的命名空间和 typedef 名称的命名空间 name c cat name c include
  • 如何在 Javascript 中获取 X509Certificate 指纹?

    我需要用 javascript 编写一个函数 forge 获取 pfx 证书的缩略图 我创建了一个测试证书 mypfx pfx 通过使用 C X509Certificate2 库 我可以通过传递文件字节数组和密码来查看 X509Certif
  • 如何在 MySQL 查询中使用 BETWEEN 的反义词? [复制]

    这个问题在这里已经有答案了 我有一个工作查询 它 使用 BETWEEN 来查找日期范围内的结果 我需要的是相反的结果或不是给定日期范围之间的结果 这是下面的查询 SELECT loanac id loanac name loanac lac
  • 摆动计时器 - 时间波动

    我在游戏中使用了 Swing Timer 但是当游戏运行时 它似乎有时运行平稳 有时又变慢 为什么时间会波动 我该如何解决它 import java awt Color import java awt Graphics import jav
  • Python mySQL 更新,工作但不更新表

    我有一个 python 脚本需要更新 mysql 数据库 到目前为止我有 dbb MySQLdb connect host localhost user user passwd pass db database try curb dbb c
  • 使用 tableGrob 在表中添加上标

    如何在表格中添加上标 例如 列b of df会将重复索引指示为上标 我可以考虑引入列的值b作为表达 但可能有更好的方法 Data df lt data frame a 1 6 b rep letters 1 3 each 2 Code li
  • git 正在尝试上传已手动删除的文件

    我在旧的提交中添加了一个文件 并且没有推送该提交 然后我从目录中删除了该文件 之后 我做了更多更改并添加了更多提交 现在每次我尝试推送代码时都会遇到此错误git push u origin master Counting objects 5
  • 两个ModalViewController

    我有一个 navigationController 从中启动 ModalViewController 在此 ModalViewController 中 我将显示 MailComposer 它本身是另一个 ModalViewControlle