父ViewController关联Storyboard时,能否展示未绑定Storyboard的ViewController?
当然可以展示!
不管你的父视图控制器是不是关联在Storyboard中,都完全可以展示没有在Storyboard里定义的B视图控制器——两者的创建/展示逻辑是相互独立的,不受彼此限制。
具体实现分两种常见情况:
情况1:BViewController是纯代码实现(无xib/Storyboard)
直接通过类初始化方法创建实例,然后用present或者导航栈的pushViewController展示即可:
// 初始化纯代码的BViewController let bVC = BViewController() // 以present方式展示 self.present(bVC, animated: true, completion: nil) // 如果父VC在UINavigationController栈中,也可以用push方式 // self.navigationController?.pushViewController(bVC, animated: true)
情况2:BViewController有对应的xib文件(但未加入Storyboard)
如果你的BVC是用xib布局的,初始化时指定xib名称即可:
// 初始化带xib的BViewController let bVC = BViewController(nibName: "BViewController", bundle: nil) self.present(bVC, animated: true, completion: nil)
简单总结:父VC的创建方式(关联Storyboard)不影响你初始化和展示其他VC,只要按照BVC自身的创建规则正确实例化,就能正常完成展示操作。
内容的提问来源于stack exchange,提问作者Manikandan
相关产品推荐
相关产品推荐

