Swift编程中,发现直接使用下面语句,出来的画面是黑色的,而且里面的控件并没有显示出来。
let vc = GreenViewController()
self.presentViewController(vc, animated: true) {
print("done")
}
然后我测试了下OC,也是相同的现象。
在网上找了半天,原因是使用StoryBoard创建的Controller需要绑定StoryBoard才行,如果是使用代码创建,这样就可以了。如果使用StoryBoard创建,则需要使用如下方式
let sb = UIStoryboard(name: "Main", bundle:nil)
let vc = sb.instantiateViewControllerWithIdentifier("GreenViewIdentifier") as! GreenViewController
self.presentViewController(vc, animated: true) {
print("done")
}
这个问题本质还是创建的Controller并没有绑定StoryBoard,而是单向的Storyoard绑定了Controller.