无法在Swift中使用自定义视图控制器

时间:2018-01-31 22:36:49

标签: swift uiviewcontroller uiimagepickercontroller uiwindow

我正在尝试使用此控制器来查看它的外观并决定是否将其用作我自己的自定义UIImagePickerController中的基础:https://developer.apple.com/library/content/samplecode/PhotoPicker/Listings/PhotoPicker_APLViewController_swift.html#//apple_ref/doc/uid/DTS40010196-PhotoPicker_APLViewController_swift-DontLinkElementID_5

现在我正在调用Delegate类而没有任何问题。但是,我似乎无法使用此视频中建议的控制器:https://www.youtube.com/watch?v=B9YWkvjB_Qc(大约4:10)。我试着写window? = APLViewController()。但我得到一个黑屏。如果我在委托类中设置窗口的大小和颜色,它将得到它。

此外,视频示例中的控制器类或我尝试使用的控制器没有任何init功能。那么为什么我会在创建它的实例并将其设置为rootViewController时假设会发生什么?该控制器也没有明显的无效函数可以调用,但希望UIBarButtonItems作为参数。

如何运行此“APLViewController”?

1 个答案:

答案 0 :(得分:0)

使用ViewControllers时,似乎没有单init方法。我通过这个“APLViewController”工作,使用简单的print来控制消息,以便更好地了解它的运行顺序。

作为我在viewDidLoad函数中尝试过的任何地方从未初始化的实例变量,导致我... is not in window hierarchy - 错误。在这里的答案AlertController is not in the window hierarchy中,有人建议在viewDidAppear中执行此操作。

它不存在所以我覆盖viewDidAppear并从那里初始化所有实例变量。然后在这个函数里面我可以调用类中的所有函数 - 这一切都有效。