0

我需要一个 UIALertView,它在弹出时应该足够透明,以便以褪色的方式显示 alertview 后面的背景,并且不应该出现警报视图的蓝色,因为警报视图后面的背景是黑色和灰色的。更改颜色并将图像放入警报视图是可以在链接中看到的一件事:iOS 5 黑色透明 UIAlertView更改 UIAlertView 的背景颜色?
但我需要一个透明的 UIAlertView。有可能得到一个吗?如果是,怎么办?我在这里先向您的帮助表示感谢。

4

3 回答 3

4

如果您查看Apple 的 UIAlertView 文档页面,您会看到以下说明:

UIAlertView 类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。

换句话说,Apple 不希望开发人员在涉及 UIAlertView 时乱用颜色、字体或背景。如果 Apple 在更高版本的 iOS 中更改了 UIAlertView 的内部内容,那么当该修改后的警报出现时,您的应用程序可能会产生意外和不想要的效果。

如果你想要自定义 UIAlertView 的行为,为什么不编写你自己的 UIView,它的外观和行为很像 UIAlertView。然后你可以完全控制它的绘制方式。

于 2012-09-03T07:43:35.123 回答
0

我知道为时已晚,但我会将此命令留给其他开发人员。

。H

@interface CustomAlertView:UIAlertView {}

.m

// override
- (void)drawRect:(CGRect)rect
{
    for(UIView * sub in self.subviews)
    {
        [sub removeFromSuperview];
    }
    // this removeFromSuperview will clear all thing such as background view and buttons

    // do something
}
于 2013-05-31T06:07:48.857 回答
0

正如迈克尔所说,你不能使用 UIAlertView,你必须自己构建它。

你可以试试 BlockAlertsAnd-ActionSheets,它就像一个可定制的 UIAlerView https://github.com/gpambrozio/BlockAlertsAnd-ActionSheets

于 2012-09-03T07:52:27.197 回答