首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MainWindow .xib - iPhone开发

MainWindow .xib - iPhone开发
EN

Stack Overflow用户
提问于 2011-07-12 00:07:44
回答 2查看 373关注 0票数 0

据我所知,每个视图都有自己的控制器类。我一般知道xib文件是应用程序视图/子视图。我的问题是,MainWindow.xib有自己的控制器吗?如果有,在哪里可以找到?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-12 00:48:09

您说得对,xib文件可以允许将视图关联到它的视图控制器。

现在,MainWindow.xib至少包含了应用程序的主UIWindowUIWindow不是UIView,不需要UIViewController

另一方面,您可以在MainWindow.xib中创建任何您喜欢的对象,因此还可以在其中包含一个UIView,然后将其添加到UIWindow实例及其对应的UIViewController中。

如果您考虑附加的xib,那么它们会发生什么情况:它们定义了一个文件,另外还指定了UIView的所有者类型,该类型通常是UIViewController,并通过加载xib来实例化。

从这个意义上说,MainWindow.xib虽然不需要UIViewController,但仍然需要一个文件的所有者,这就是UIApplication单例。由于您不能修改或从UIApplication派生类,因此与UIWindow实例交互的方式是通过UIApplication的委托。

请记住,MainWindow.xib扮演着特殊的角色,因为它也在info.plist文件中指定。您也可以不使用它(通过从info.plist中删除相应的条目),只需在从main.c调用UIApplicationMain时声明您的应用程序委托。在这种情况下,无论是应用程序委托还是应用程序委托,都不会通过xib机制实例化UIWindow;您需要从应用程序委托的applicationDidFinishLaunching实例化UIWindow

票数 1
EN

Stack Overflow用户

发布于 2011-07-12 00:17:16

我不认为它有自己的控制器。它主要是主窗口,当应用程序出现时弹出的东西。我们添加控制器或视图控制器供用户使用。App委托在某种程度上是控制器,但不完全是。我们将applicationDidFinishLaunchingWithOptions重写到任何控制器等,所以appdelegate可以被认为是mainwindow.xib的控制器,尽管它不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6653101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档