【发布时间】:2010-10-06 05:10:38
【问题描述】:
我正在尝试创建一个模仿UIAlertView 行为的UIView(和关联的UIViewController)。鉴于我的要求,从头开始创建自己的实现似乎比尝试子类化和修改UIAlertView 要好得多。为此,我获取了对应用程序委托的引用,然后将UIViewController.view(alpha 约为 0.6)添加为应用程序主窗口的子视图。这意味着它将出现在屏幕上所有其他视图的顶部,并模拟在UIAlertView 中找到的暗色背景。
一切正常,除了UIView(即UIViewController.view)没有覆盖屏幕顶部的状态/运营商栏。这意味着除了载体栏外,所有屏幕都变暗了,看起来有点奇怪!有什么方法可以让UIView 出现在载体栏的顶部?我听说过在应用程序中添加第二个UIWindow 的想法,但这似乎并不明智(因为Apple 文档说你应该只在应用程序中拥有一个UIWindow),即使这是最好的解决方案,我不确定这种解决方案的技术实现。
【问题讨论】:
-
请记住,一旦 iOS 5 发布,这将是一个非常糟糕的主意。显示状态栏的应用程序依赖它来显示通知中心,如果你在上面放一些东西,你可能会破坏这个功能。隐藏状态栏会是更好的方法,因为通知中心下拉的行为不同,你不会破坏它。
标签: iphone cocoa-touch uiview uiviewcontroller uialertview