我的应用程序使用黑色导航栏和其他自定义颜色用于各种UI组件,深蓝色的警报视图看起来非常不合适。
我想让警报视图半透明,而不必使用图像文件。
我不反对生成UIImage,因为我知道改变背景的唯一方法是使用UIImage,但我的所有尝试(基于下面的问题1)只是在后面做了一个坚实的黑色矩形警示视图(角不圆。)
相关但不重复:
第一个使用图像“Background.png”以将其设置为背景。第二个问题与第一个问题相关,并声称OP不应该这样做。
答案 0 :(得分:6)
没有API钩子这样做的事实应该是一个红旗 - 你不应该这样做。它没有使用私有API(这会让你拒绝),但它正在利用未记录的行为,Apple建议不要这样做。事实上,上周在iPhone技术讲座中,我特意警告Apple Dev Evangelist不要做这样的事情,因为它将来会破裂。
如果你真的想在UIAlertViews上做自己的事情,你应该创建自己的视图并通过模态视图控制器呈现它。
答案 1 :(得分:0)
由于UIAlertView不允许通过任何公共API更改背景颜色,因此自定义其背景颜色的唯一方法是将UIAlertView子类化。