在我目前正在开发的iPhone应用程序中,我提出了几个模仿UIAlertView和UIActionSheet行为的“警报”视图。这些视图需要UIAlertView或UIActionSheet中不可用的非标准元素。我没有尝试子类化,而是创建了自己的类,以便我可以轻松自定义警报的外观。
我遇到的一个问题是,在显示警报视图时,我无法淡化iPhone屏幕。我想以与UIAlertView和UIActionSheet相同的方式呈现我的自定义视图时淡出整个屏幕(包括状态栏)。我试图通过在整个屏幕上覆盖半透明视图来实现此目的,但无论我是将视图添加为keyWindow或最顶层视图的子视图,状态栏都不会被遮挡。
有没有人对如何做到这一点有任何建议?这似乎应该很简单,所以我可能会忽略一些东西。
答案 0 :(得分:3)
我还没有这样做,但是如果你想覆盖状态栏上的任何内容,我会说你必须创建一个UIWindow
实例并将其windowLevel
设置为{{ 1}}。或者在视图层次结构中找到状态栏窗口,并为其添加半透明子视图。