我正在尝试提供一个模态。当我将它连接到一个按钮时,它显示没有问题。 。但是当我以编程方式调用它时,它会显示黑屏。
以下是我如何称呼它。
override func viewDidAppear(animated: Bool) {
presentViewController(ModalViewControllerClass(), animated: true, completion: nil)
}
我正在使用swift 2.0。
答案 0 :(得分:2)
您可能希望尝试其他方式以编程方式显示目标ViewController。试试这段代码:
CreateWindow
希望这会有所帮助:)
答案 1 :(得分:1)
您应该设置ViewController视图的大小。 (一般情况下,它可能不同,它不必是全屏。)如果您从UIStoryBoard实例化视图控制器,StoryBoard会在实例化期间为您执行此操作。在你的情况下,你应该自己做
let vc = ModalViewControllerClass()
vc.view.frame = UIApplication.sharedApplication().keyWindow?.bounds
presentViewController(vc, animated: true, completion: nil)
答案 2 :(得分:0)
简单地实例化ModalViewControllerClass
的实例不会起作用。
您应该使用故事板功能instantiateViewControllerWithIdentifier
如果添加标识符" MyModal"对于故事板中的模态场景,您的代码可能如下所示:
override func viewDidAppear(animated: Bool)
{
if let newModal =
self.storyboard.instantiateViewControllerWithIdentifier("MyModal")
{
presentViewController(newModal, animated: true, completion: nil);
}
}