关闭呈现的视图控制器后推送视图控制器

2024-03-17

我有这个导航堆栈

RootVC ---> VC1 --> (呈现)-> ModalVC

我有VC2(不在导航堆栈中)。

演示时ModalVC,我想单击 ModalVC 中的按钮来关闭 ModalVC,然后推送VC2之后进入导航堆栈VC1一键点击。它应该看起来像这样:

根VC ---> VC1 ---> VC2

我尝试了很多方法来做到这一点,但只有当我返回到我的状态时才推动事件触发RootVC.

我试图与代表们一起做到这一点:

In ModalVC点击时:

[self dismissViewControllerAnimated:YES completion:^{
   if ([self.delegate respondsToSelector:@selector(dismissAndPush:)]) {
       [self.delegate performSelector:@selector(dismissAndPush:) withObject:VC2];
   }
}];

In VC1:

- (void)dismissAndPush:(UIViewController *)vc {
    [self.navigationController pushViewController:vc animated:NO];

}

请帮助理解这种行为。我的错误在哪里?


From 苹果文档 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/dismissViewControllerAnimated:completion::

呈现视图控制器负责关闭视图 它提出了控制器。

所以,VC1应该解雇ModalVC,尝试这样做

单击时的 ModalVC:

   if ([self.delegate respondsToSelector:@selector(dismissAndPush:)]) {
       [self.delegate performSelector:@selector(dismissAndPush:) withObject:VC2];
   }

In VC1:

- (void)dismissAndPush:(UIViewController *)vc {

[self dismissViewControllerAnimated:YES completion:^{
    [self.navigationController pushViewController:vc animated:NO];
}];

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

关闭呈现的视图控制器后推送视图控制器 的相关文章

  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • 以编程方式向 UIButton 标签添加阴影

    我试图向按钮标签添加 1px 黑色阴影 但没有成功 我试过这个 self setTitleShadowOffset CGSizeMake 0 1 但我得到 请求非结构或联合中的成员 setTitleShadowOffset 任何建议都会很棒
  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 无法添加钥匙串项目。使用 KeychainItemWrapper 更改标识符后出现错误 - 25299?

    我想用 KeychainItemWrapper 将 UUID 保存在钥匙串中 所以我在中添加以下方法MyKeychainManager m define keychain idenentify com myapp bundle1 void
  • iOS:将观察者添加到 UIView 的frame.origin.y?

    我正在尝试监视 UIView 框架原点的变化值并对其做出反应 我的代码 cell bottomView addObserver self forKeyPath frame origin options NSKeyValueObserving
  • malloc:***错误:已释放对象的校验和不正确 - 对象可能在释放后被修改

    我的 iOS 应用程序有一个大问题 它有时会崩溃 而没有详细的调试错误 堆栈跟踪为空 这是堆栈跟踪中仅有的两行 UIApplicationMain 中的 符号存根 UIHostedTextServiceSession DismissText
  • 你如何在react-native中实现捏合缩放?

    我一直在研究 PanResponder 我当前的工作假设是 我将检测是否有两个触摸正在向外移动 如果是 则增加元素大小onPanResponderMove功能 这似乎是一种混乱的方法 有没有更顺畅的方法呢 如果您只需要简单的捏缩放功能 只需
  • ShareKit + Facebook 身份验证不起作用

    我正在使用 ShareKit 从我正在开发的 PhoneGap 应用程序发布到 Facebook 我在 Facebook 中创建了该应用程序 并在我的项目中安装了该插件 Twitter 工作正常 但当我尝试在 Facebook 上分享时出现
  • ios Vision VNImageRequestHandler方向问题

    我正在尝试使用相机通过相机检测脸部VNImageRequestHandler iOS 愿景 当我在横向模式下用相机指向照片时 它会检测到面部 但方向模式相反 let detectFaceRequestHandler VNImageReque
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR
  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • 我如何从 iPhone 设备获取电子邮件历史记录..?

    friends 我想从我的 iPhone 访问电子邮件历史记录 并且还希望在收到新邮件时收到通知 如果可能的话 请向我提供源代码片段 Thanks 简而言之 使用任何已记录的 API 都是不可能的
  • 为每行 NSTableView 文本着色

    我有一个 NSTableView 它显示我拥有的对象数组 对于每个对象 行 我想根据在每个对象上运行的函数的结果来更改显示的文本的颜色 因此 例如表中存在于另一个列表 或其他一些要求 中的所有对象 我想以绿色文本显示它们 不存在的对象以红色
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • Xcode 在代码签名身份中看不到我的开发人员证书

    我续订了 IOS 开发人员证书 从钥匙串中删除了旧证书 然后单击了我的证书 钥匙串中的一切看起来都很正常 我有分发 开发人员 WWDC 证书 每个配置文件看起来都有效 并带有绿色标记 在组织器中的团队和配置文件部分下 但在代码签名身份下的
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • 使用 UItableViewCell 类型的表达式初始化“CustomCellView *”的指针类型不兼容

    你能帮我理解和 修复下面的错误吗 我不明白CustomCellView是一个子类UItableViewCell 代码已编译 但警告仍然存在 Incompatible pointer type initializing CustomCellV

随机推荐

  • VB6在制作exe文件时冻结

    我正在用 VB6 编写一个项目 我使用的是 Win7 32 位 项目有问题 这个项目是很多年前写的 现在我正在重新编译它 当我发出 Make xxx exe 命令时 VB6 开始编译并冻结 还创建了超过 10 000 个 tmp 文件 几分
  • android livedata进行顺序调用

    我正在使用改造 实时数据 我的项目中有一种情况 我必须进行网络调用的顺序 如果任何一个失败 它应该返回错误 目前我有两个实时数据观察者来完成工作 这不是一个好的方法 所以我想知道更好的方法或示例代码来处理这种需求 注意 我没有使用 Rxja
  • C++ std::function 找不到正确的重载

    考虑以下情况 void Set const std function
  • VS 2017 颜色主题编辑器 - 如何更改 Intellisense 自动完成背景颜色

    我已使用颜色主题编辑器导入了透明主题 并且正在尝试更改自动完成框的背景颜色 目前 如下所示 它是透明的 并且很难阅读下面几行的文本 我尝试了多种元素 但找不到合适的元素 谷歌一无所获 如何更改自动完成 智能感知自动完成框背景颜色 将树视图背
  • 在pandas中,如何找到累积和大于阈值的行/索引?

    我想找到某列中的值的累积和超过阈值的行 索引 我可以并且确实使用一个简单的循环找到这个位置 如下所示 def sum to df col threshold s 0 for r in df iterrows if s r 1 col gt
  • 如何使 pdb 识别出运行之间的源已更改?

    据我所知 pdb 无法识别源代码在 运行 之间何时发生更改 也就是说 如果我正在调试 注意到一个错误 修复该错误 然后在 pdb 中重新运行程序 即不退出 pdb pdb 将不会重新编译代码 即使 pdb 列出了新的源代码 我仍然会调试旧版
  • 谁在我的类中调用 PaintComponent() 方法?

    我有一个简单的类 可以在 JPanel 中绘制图形 这是我的课 import java awt Color import java awt Dimension import java awt Graphics import javax sw
  • 使用 ARKit 拍摄高质量照片

    我对使用 ARKit 跟踪手机位置以使用相机自动拍照的功能感兴趣 我的初步调查让我了解到 虽然 ARKit 使用相机 但使用标准 AVFoundation 方法不可能获得高质量图像 由于正在使用相机 我明白我可以使用sceneView sn
  • 如何将初始状态传递给减速器

    我目前使用一个减速器创建我的商店 该减速器已传递给它初始状态 import reducers from reducers const store createStore reducers initialState compose enhan
  • 将 ios 小部件添加到现有的反应本机项目后无法构建:找不到架构 x86_64 的符号

    我有一个现有的react native项目 在创建新的ios小部件目标后 不修改任何内容 然后构建 我收到编译错误 Undefined symbols for architecture x86 64 swift getOpaqueTypeC
  • 如何使用网格或其他控件在 WPF 中布局表单以实现可维护性[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 WPF 表单 我想在其上放置一个标准表单 每个表单元素都有一个标签 然后是一个控件 相当标准的东西 如果我使用包裹面板 它可
  • Qt 支持 OpenMP 吗?

    我在 Visual Studio 项目中使用 OpenMP 目前非常认真地考虑更改为 QT Creator Visual Studio 不是很糟糕吗 我对微软的期望更高 但无论如何 QT Creator 支持 OpenMP 吗 如果出现这种
  • Django 通道自定义身份验证中间件 __call__() 缺少 2 个必需的位置参数:“接收”和“发送”

    我正在为 django 通道编写一个自定义身份验证中间件 class TokenAuthMiddleware def init self inner Store the ASGI application we were passed sel
  • 无法摆脱 GDB 中的“值已被优化掉”

    我正在调试CPython可执行的GDB尽管禁用了所有变量 但仍无法获取某些变量的值GCC优化 gdb print co value has been optimized out gdb frame 0 PyEval EvalFrameDef
  • 使用 GD 在图像上写入文本不起作用

    我在用着PHP 7 4当我尝试使用在图像上写文字时imagettftext 功能没有任何反应只有空白图像 当我回滚到PHP 5 6它工作完美 我已经确认 GD 已启用并且我在 Windows 操作系统下 这是我的代码 我已将其复制自php
  • 为什么 O(n) 优于 O( nlog(n) )?

    我刚刚发现了这个奇怪的发现 在普通数学中 n logn 会小于 n 因为 log n 通常小于 1 那么为什么 O nlog n 大于 O n 呢 即为什么nlogn被认为比n花费更多的时间 Big O 是否遵循不同的系统 事实证明 我误认
  • 如何在 Elasticsearch 中或在 Lucene 级别进行联接

    在 Elasticsearch 中执行相当于 SQL 连接的最佳方法是什么 我有一个包含两个大表的 SQL 设置 Persons 和 Items 一个人可以拥有many项目 人员和项目行都可以更改 即更新 我必须运行根据人和物品的各个方面进
  • python中连接变量名

    我有一组表名 1 EOM 2 STMT 3 LOOKUP etc 我想将这些表名称与一些变量名称相关联 例如 1 start time 2 end time 3 total time etc 我想写这些变量名的方式是这样的 1 start
  • 尽管启用了实验性 JS,ECMAScript 6 仍无法工作

    我有最新的 Chrome 版本 45 以及版本 47 的 Chrome Canary 两者都启用了实验性 JavaScript 标志 我想使用 ECMAScript 6 但它不起作用 我不知道为什么 是否还有任何技巧或其他标志也必须启用 E
  • 关闭呈现的视图控制器后推送视图控制器

    我有这个导航堆栈 RootVC gt VC1 gt 呈现 gt ModalVC 我有VC2 不在导航堆栈中 演示时ModalVC 我想单击 ModalVC 中的按钮来关闭 ModalVC 然后推送VC2之后进入导航堆栈VC1一键点击 它应该