如何在 UIAlertController 中设置背景颜色
How to set background color in UIAlertController
我正在尝试设置 UIAlertController
的背景颜色。我正在使用的代码似乎(几乎)做到了这一点,除了它看起来更像 Tint
而不是 BackgroundColor
。角落是我设置的颜色,但警报的主体看起来更像是有色的。我的理解是实际警报视图是 UIAlertController
.
的最后一个子视图
我的代码:
var okAlertController = UIAlertController.Create(message, messagetype, UIAlertControllerStyle.Alert);
okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
int lastView = okAlertController.View.Subviews.Length - 1;
if (messagetype.ToUpper() == "ERROR")
{
okAlertController.View.Subviews[lastView].BackgroundColor = new UIColor(CoreImage.CIColor.RedColor );
}
else if (messagetype.ToUpper() == "SUCCESS")
{
okAlertController.View.Subviews[lastView].BackgroundColor = new UIColor(CoreImage.CIColor.GreenColor);
}
这是正确的吗?我一直在根据我显示的消息类型寻找纯绿色、红色或默认值,或者这是我唯一能做的吗?
经过我的测试,我想出了用代码实现的方法:
okAlertController.View.Subviews[0].Subviews[0].Subviews[0].BackgroundColor=UIColor.Green;
我正在尝试设置 UIAlertController
的背景颜色。我正在使用的代码似乎(几乎)做到了这一点,除了它看起来更像 Tint
而不是 BackgroundColor
。角落是我设置的颜色,但警报的主体看起来更像是有色的。我的理解是实际警报视图是 UIAlertController
.
我的代码:
var okAlertController = UIAlertController.Create(message, messagetype, UIAlertControllerStyle.Alert);
okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
int lastView = okAlertController.View.Subviews.Length - 1;
if (messagetype.ToUpper() == "ERROR")
{
okAlertController.View.Subviews[lastView].BackgroundColor = new UIColor(CoreImage.CIColor.RedColor );
}
else if (messagetype.ToUpper() == "SUCCESS")
{
okAlertController.View.Subviews[lastView].BackgroundColor = new UIColor(CoreImage.CIColor.GreenColor);
}
这是正确的吗?我一直在根据我显示的消息类型寻找纯绿色、红色或默认值,或者这是我唯一能做的吗?
经过我的测试,我想出了用代码实现的方法:
okAlertController.View.Subviews[0].Subviews[0].Subviews[0].BackgroundColor=UIColor.Green;