1

我的应用程序为各种 UI 组件使用黑色导航栏和其他自定义颜色,深蓝色的警报视图看起来很不合适。

我想让警报视图变成半透明黑色,而不必求助于使用图像文件。

我不反对生成 UIImage,因为我知道更改背景的唯一方法是使用 UIImage,但我所有的尝试(基于下面的问题 1)只是在警报视图后面制作一个纯黑色矩形(角不是圆的。)

相关但不重复:

  1. 如何更改 UIAlertView 的背景颜色?
  2. 如何更改 UIAlartView 的颜色?

第一个使用图像“Background.png”将其设置为背景。第二个问题链接到第一个问题,并声称 OP 不应该这样做。

4

2 回答 2

6

没有 API 挂钩可以做到这一点的事实应该是一个危险信号——你不应该这样做。它没有使用私有 API(这会让你被拒绝),但它利用了 Apple 反对的未记录行为。事实上,上周在 iPhone 技术演讲中,一位 Apple 开发布道者特别警告我不要做这样的事情,因为它会在未来崩溃。

如果您真的想在 UIAlertViews 方面做自己的事情,您应该创建自己的视图并通过模态视图控制器呈现它。

于 2009-12-08T21:43:09.340 回答
0

由于 UIAlertView 不允许通过任何公共 API 更改背景颜色,因此自定义其背景颜色的唯一方法是子类化 UIAlertView。

于 2009-12-09T15:18:10.410 回答