【发布时间】:2009-12-10 08:35:50
【问题描述】:
我需要在 iPhone 上的窗口中添加一个视图,所以我尝试这样做:[[UIApplication sharedApplication] windows],但它接缝的是该数组只包含一个窗口。
谁能告诉我我没有写什么/我需要做什么?
【问题讨论】:
标签: iphone cocoa-touch uiapplication
我需要在 iPhone 上的窗口中添加一个视图,所以我尝试这样做:[[UIApplication sharedApplication] windows],但它接缝的是该数组只包含一个窗口。
谁能告诉我我没有写什么/我需要做什么?
【问题讨论】:
标签: iphone cocoa-touch uiapplication
试试
[[UIApplication sharedApplication] keyWindow];
如果你想找到你的应用程序的窗口。
【讨论】:
您的 AppDelegate 类将保存窗口(作为属性)。每个应用程序只能获得一个窗口。在大多数情况下,您应该只从 AppDelegate 直接将视图添加到窗口——对于正常的子视图管理,请使用 viewControllers。
【讨论】:
嗯,我发现了问题。实际上没有设置正确的条件,[[UIApplication sharedApplication] windows] 只返回一个窗口。尽管如此,[[UIApplication sharedApplication] keyWindow] 还是会抛出异常。
这是因为当MPVideoPlayerController 开始播放时,它开始创建一个新窗口,但是,可能不会立即完成这项工作。它几乎是立即创建的,但不是立即创建的。
【讨论】:
你可以这样做。
UIView *controllersView = [myViewController view];
[window addSubview:controllersView];
【讨论】: