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

ios - 替换父 View Controller

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

我有以下具有父子关系的 View Controller 层次结构。

VC1 -- VC2 -- VC3 -- VC4 -- VC5

每个 View Controller 都是前任的 child 。

我用过代码-

   [parentVC addChildViewController:childVC];

   [childVC.view setFrame:parentVC.view.frame];

   [parentVC.view addSubview:childVC.view];

   [childVC didMoveToParentViewController:parentVC];

现在,我想将 VC1 替换为另一个 View Controller ,例如在 VC5 执行操作后此层次结构中的 VC0,即删除 VC2 后,我希望使用 VC0 而不是 VC1。如何做到这一点?



Best Answer-推荐答案


UINavigationController 提供了一个 -setViewControllers:animated:可用于修改导航堆栈的方法。它通常用于将应用程序恢复到用户离开应用程序时的状态。来自文档:

Use this method to update or replace the current view controller stack without pushing or popping each controller explicitly. In addition, this method lets you update the set of controllers without animating the changes, which might be appropriate at launch time when you want to return the navigation controller to a previous state.

也就是说,使用这种方法来替换堆栈中的 View Controller ,从 UI 的角度来看,这听起来像是一个糟糕的计划——这似乎可能会让用户感到困惑,他们完全希望父 Controller 不会变形为完全不同的东西。

关于ios - 替换父 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21240898/

回复

使用道具 举报

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

本版积分规则

关注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