创建半透明叠加层以模仿UIAlertView或UIActionSheet?

时间:2010-03-11 00:10:57

标签: iphone fullscreen uialertview uiactionsheet

在我目前正在开发的iPhone应用程序中,我提出了几个模仿UIAlertView和UIActionSheet行为的“警报”视图。这些视图需要UIAlertView或UIActionSheet中不可用的非标准元素。我没有尝试子类化,而是创建了自己的类,以便我可以轻松自定义警报的外观。

我遇到的一个问题是,在显示警报视图时,我无法淡化iPhone屏幕。我想以与UIAlertView和UIActionSheet相同的方式呈现我的自定义视图时淡出整个屏幕(包括状态栏)。我试图通过在整个屏幕上覆盖半透明视图来实现此目的,但无论我是将视图添加为keyWindow或最顶层视图的子视图,状态栏都不会被遮挡。

有没有人对如何做到这一点有任何建议?这似乎应该很简单,所以我可能会忽略一些东西。

1 个答案:

答案 0 :(得分:3)

我还没有这样做,但是如果你想覆盖状态栏上的任何内容,我会说你必须创建一个UIWindow实例并将其windowLevel设置为{{ 1}}。或者在视图层次结构中找到状态栏窗口,并为其添加半透明子视图。