在iOS 8中如何从UIAlertView中移除alpha?

3

我希望在我的应用程序中将警报视图设置为纯白色,而不是半透明的白色。由于UIAlertView扩展了UIView,因此我尝试了以下操作:

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

但是警报仍然是透明的。如何使其具有实心白色背景?


有一个类似的问题被问到并得到了回答:http://stackoverflow.com/a/9940342/4114683 - TheSD
2个回答

0
如果您想要没有透明度的纯白背景警报,可以这样做:
UIVisualEffectView.appearance(whenContainedInInstancesOf: [UIAlertController.classForCoder() as! UIAppearanceContainer.Type]).backgroundColor = UIColor.white

它适用于UIAlertController和UIAlertView。


0

不建议这样做,因为简单的解决方案(如alpha = 1.0等)将无法起作用。因此,如果您尝试绕过此问题,很可能会为未来创建问题。我的建议是不要这样做,但如果必须这样做,则可以通过子类化UIView来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接