2011-11-22 85 views
7

创建一个空白的xib文件后,似乎我们可以拖动UIWindow或UIView来覆盖整个屏幕。我的问题是两者之间的实际区别是什么,以及在什么情况下我们应该使用这两者之一?UIWindow和UIView的区别

+0

我们如何可以拖动的UIWindow到空白'.xib'文件?我无法在Xcode中这样做。 –

回答

19

Windows本身没有任何可见内容,但为应用程序的视图提供了一个基本的容器。视图定义了您想要填充某些内容的窗口的一部分。通常,iOS应用程序中只有一个窗口。

About Windows and Views

+4

另一种想法是,一个窗口永远不会有超级视图。这是位于视图层次结构顶部的东西。 – jemmons

+0

感谢您的答案和链接是非常有用的... – Stanley

+1

从技术上来说,一个窗口*不*覆盖整个屏幕。窗口的* view *会。所以想一下一个'UIView'作为屏幕的控制部分:绘制它等等。窗口只是一个容器。 –

8

这不是一个或任何一种事情。你的应用程序必须有一个UIWindow实例,它是你呈现的UIView实例的容器。

应用程序可以从nib文件加载UIWindow实例,也可以通过编程方式创建它。看一些示例代码,看看它是如何完成的。

+0

感谢您的回答,但是每个项目应该只有一个UIWindow是真的吗? – Stanley

+0

@Stanley通常情况就是这样,是的。然而,这不是强制性的,而是普遍的。 – Till

+2

例如,有两种情况是当你想处理外部屏幕时。 – jbat100