将viewController添加为子视图Swift不显示任何组件
Posted
技术标签:
【中文标题】将viewController添加为子视图Swift不显示任何组件【英文标题】:Adding viewController as subview Swift Not showing any component 【发布时间】:2016-04-14 05:58:04 【问题描述】:我在情节提要中创建了一个视图控制器 vc,并在其上放置了一个 View1 并向其添加所有约束。现在我想添加一个 vc 作为子视图。我使用此代码:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("LeftMenuListIdentifier")
self.view.addSubview(vc.view)
vc 控制器作为子视图添加到我当前的控制器,但它没有显示 vc 控制器的任何子视图,视图意味着 View1。
如果我将 vc 控制器推送到我当前的视图控制器,那么它会显示 View1。
self.navigationController?.pushViewController(vc, animated: true)
请建议我应该怎么做。我想从情节提要中添加一个视图控制器作为子视图。
【问题讨论】:
【参考方案1】:请按照以下步骤解决您的问题。
-
首先创建
UIViewController
对象。
之后将对象添加为 childviewcontroller
为 Like (self.addChildViewController("Your Controller Object"))
然后在self.view
上添加控制器作为添加subview
.(`self.view.addSubview("Your Controller Object"))
我认为它会起作用
【讨论】:
【参考方案2】:您不需要推送您的 vc,只需使用 addChildViewController(vc);
、this link may help you 将其添加到当前视图控制器即可
【讨论】:
嗨!感谢您的回复,我现在正在工作。但我需要将它添加到主窗口我该怎么做?像这样 let currentWindow : UIWindow = UIApplication.sharedApplication().keyWindow! currentWindow.addSubview(vc.view) 什么意思?你想让你的孩子viewcontroller作为rootviewcontroller吗?还是将您的 childviewcontroller 添加到导航层次结构?以上是关于将viewController添加为子视图Swift不显示任何组件的主要内容,如果未能解决你的问题,请参考以下文章
将viewController添加为子视图Swift不显示任何组件
当视图未将自身添加到其子视图时,“无法将自身添加为子视图”崩溃(带有示例代码)
在 iOS 中,将视图添加为子视图与将视图分配给视图属性之间有区别吗?
从嵌入式子UIViewController中获取Parent ViewController