在情节提要之前的过去,我能够用-application:didFinishLaunchingWithOptions:
创建自己的UIWindow实例。
我有一个有特殊需要的UIWindow子类,我想与新的Xcode项目一起使用。但是我的应用程序委托方法为空,并且仍然神奇地有一个UIWindow。
有一个Main.storyboard文件。但是看里面,我只看到一个UIViewController。没有引用UIWindow。
main.m也没有提到UIWindow。
谁创建了UIWindow,如何强制它实例化我的子类?
最佳答案
如果应用程序代表的window属性是nil
,则应用程序将为您创建一个窗口。
要创建自定义窗口,请在App Delegate中实现window
getter。
从App Delegate的window
属性的文档中:
如果您应用的Info.plist文件包含UIMainStoryboardFile键,则需要实现此属性。幸运的是,Xcode项目模板通常会自动为应用程序委托包含属性的综合声明。此综合属性的默认值为nil,这将导致应用创建通用的UIWindow对象并将其分配给该属性。如果要为您的应用程序提供自定义窗口,则必须实现此属性的getter方法,并使用它来创建和返回自定义窗口。
关于ios - 在现代的Xcode 5 iOS7项目中,UIWindow在哪里创建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19137193/