从 iOS 8 中的 UIAlertView 中删除 alpha

Posted

技术标签:

【中文标题】从 iOS 8 中的 UIAlertView 中删除 alpha【英文标题】:remove alpha from UIAlertView in iOS 8 【发布时间】:2014-10-22 06:08:08 【问题描述】:

我想让我的应用程序中的警报视图变成纯白色,而不是半透明的白色。由于 UIAlertView 扩展了 UIView,我尝试了以下方法:

alert.backgroundColor = [UIColor whiteColor];
alert.alpha = 1;
alert.opaque = YES;

但警报继续透明。如何使它具有纯白色背景?

【问题讨论】:

问了一个类似的问题并回答了***.com/a/9940342/4114683 【参考方案1】:

建议不要这样做,因为简单的解决方案(如 alpha = 1.0 等)将不起作用。因此,如果您尝试解决此问题,您可能会为未来制造问题。我的建议是不要这样做,但如果你必须继承 UIView 并这样做。

【讨论】:

【参考方案2】:

如果您想要具有纯白色背景但不透明的警报,那么您可以这样做:

UIVisualEffectView.appearance(whenContainedInInstancesOf: [UIAlertController.classForCoder() as! UIAppearanceContainer.Type]).backgroundColor = UIColor.white

它适用于 UIAlertController 和 UIAlertView。

【讨论】:

以上是关于从 iOS 8 中的 UIAlertView 中删除 alpha的主要内容,如果未能解决你的问题,请参考以下文章

从iOS7中的应用程序中关闭所有UIAlertview [重复]

iOS 8 今日小部件 - UIAlertView

iOS 8及以后版本 如何创建UIAlertView?

如何在 iOS 8 中使用 UIAlertView? [复制]

iOS 8 中 UIAlertView 和 UIActionSheet 河里去了?

iOS 8 之后,还能继续使用 UIActionSheet 和 UIAlertView 吗?