• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 Storyboard 中关闭 NavigationController?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:05:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我到处找这个问题,所以作为最后的手段,我想我应该问这个问题。

我在 XCode 中使用 Storyboard,并将导航 Controller 作为我的初始 View 。这个导航 Controller 的 Root View 是一个表格 View 。在这个表格 View 中,我在导航栏中有一个按钮,它通过模式 segue 将 View 水平翻转到导航 Controller 。这个 Controller 的 Root View 是我的 map View 。现在,当我想使用 [selfdismissViewControllerAnimated:YES completion:nil] 关闭此 map View 时,它不起作用。如果我取出导航 Controller ,它会这样做。所以,我猜dismissViewController 被传递给导航 Controller ,而不做任何事情。我知道我可以为导航 Controller 实现一个类来处理调用并将其传递,但​​除非绝对必要,否则我不想这样做。

所以要解决这个问题:

  1. 我需要一种使用水平翻转动画在表格 View 和 map View 之间切换的方法,反之亦然。

  2. 我需要在两个 View 中都有一个导航 Controller ,我可以是同一个,也可以是不同的。我似乎找不到使用相同方法的方法,因为任何转换都是不进行水平翻转转换的插入。

提前感谢您的帮助!



Best Answer-推荐答案


当你调用 [self dismissViewControllerAnimated:YES completion:nil] 时,self 是谁?

此消息的接收者必须是呈现您要关闭的模态视图 Controller 的 View Controller 。如果你在呈现的 View Controller 上调用它,或者(对于像 UINavigationController 这样的容器 View Controller ,它管理的 View Controller 之一),UIKit 会尝试做正确的事情,但不会总是成功。

假设你引用的 self 是包含 map View 的 View Controller ,你可以通过 presentingViewController 属性来获取你应该调用 dismissViewControllerAnimated 的对象:完成: 开启。 (如果您需要获取介于两者之间的导航 Controller ,请使用 navigationController 属性。)

关于ios - 如何在 Storyboard 中关闭 NavigationController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255618/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap