Swift 使用UINavigationController执行segue(不带iAction)
给你看一张图然后解释会更容易 仪表板故事板 我在容器视图中嵌入了两个独立的Swift 使用UINavigationController执行segue(不带iAction),swift,uiviewcontroller,uinavigationcontroller,storyboard,segue,Swift,Uiviewcontroller,Uinavigationcontroller,Storyboard,Segue,给你看一张图然后解释会更容易 仪表板故事板 我在容器视图中嵌入了两个独立的uiviewcontroller(我在图形中只包含了一个,另一个不相关),名为ContainerViewController 后情节提要 NewPostViewController显示一个显示TextPostViewController的ui按钮。如您所见,它们都嵌入到UINavigationControllers中。现在,在调用新post的完成块之后,我必须展示ContainerViewController,它需要处理
uiviewcontroller
(我在图形中只包含了一个,另一个不相关),名为ContainerViewController
后情节提要
NewPostViewController
显示一个显示TextPostViewController
的ui按钮。如您所见,它们都嵌入到UINavigationControllers
中。现在,在调用新post的完成块之后,我必须展示ContainerViewController
,它需要处理自己的逻辑。问题是它嵌入在UINavigationController
中,一旦我呈现它,uitabar
就隐藏了
我试着这样做:
self.performsgue(带有标识符:“TextPostToNavContainerVC”,发件人:nil)
转换成功,但我正在丢失UITabBar,即使在仪表板视图控制器
和容器服务控制器
中,我调用了:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
tabBarController?.tabBar.isHidden = false
}
我做错了什么,或者有更好的方法吗?您应该实例化选项卡栏控制器。不是视图控制器。
假设您将初始视图控制器置于选项卡栏控制器之前。使选项卡栏不被推
如果我理解正确的话。
你在这么做吗
但实际上应该这样做您可以尝试将其作为子对象添加,以控制其帧,如下所示
let textPost = self.storyboard?.instantiateViewController(withIdentifier: "containerID") as! TextPostToNavContainerVC
textPost.view.frame = CGRect(x:20,y:0,width:self.view.frame.width,height:self.view.frame.height-50)
self.view.addSubview(nvc.view)
self.addChildViewController(textPost)
textPost.didMove(toParentViewController: self)
你能告诉我怎么做吗?整个项目都基于多个情节串连板,我使用情节串连板引用,因此更容易管理视图控制器。你想看哪个故事板?天哪!对我终于明白你说的了。很抱歉,我在9个小时的编码后有点慢。是的,这就是我想做的!非常感谢。