首先让我提一下我是IOS开发的新手。
通常,当我们在XCODE中创建一个新项目时,没有声明像
的对象 @property (nonatomic, retain) IBOutlet ViewController *viewController;
在自动创建的AppDelegate.h
中。
仍然创建并作为子视图添加到主视图的大多数自定义视图都可以正常工作。
但是在子应用程序中,需要声明我们的视图控制器的对象,如上所述。并且必须添加到window
的{{1}}子视图中,如下所示:
AppDelegate.m
否则,某些控制器的视图,例如 [window addSubview:viewcontroller.view];
[window makeKeyAndVisible];
(在我的情况下)等,无法正确添加为MPMediaPlayerController.view
视图的子视图。
为什么会这样?
在哪些情况下我们需要在委托类中声明视图控制器的对象?
答案 0 :(得分:0)
根据您使用的Xcode版本以及您如何定义界面,有不同的答案,但是,假设最近有一个故事板,答案是它在加载过程中发生了你的初始控制者。
对于要使用的视图控制器,需要保留它并且窗口rootViewController
是初始默认值。如果您查看"在启动时配置初始视图控制器"的文档,您将看到列出的一些步骤:
" [...] iOS执行以下操作:
...
它将窗口的rootViewController属性设置为新视图 。控制器"