1

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

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

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

4

1 回答 1

3

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

于 2010-03-11T00:29:01.877 回答