var message = new UIAlertView();
message.AlertViewStyle = UIAlertViewStyle.SecureTextInput;
message.Title = "Enter Your Password";
message.AddButton("Login");
message.CancelButtonIndex = 0;
message.BackgroundColor = UIColor.FromRGB(139, 67, 103);
message.Show();
message.Clicked += Message_Clicked;
你好这是我的代码,用于创建带有按钮和文本框的UIAlertView
。我正在尝试访问它的Controller,以便可以操纵它的子视图。我该怎么办?
答案 0 :(得分:0)
不能。该API为deprecated。您应该使用UIAlertController
。
答案 1 :(得分:0)
来自官方document:
从iOS 8开始,UIAlertController已完成替换UIActionSheet和UIAlertView的功能,而这两个功能现已弃用。
与被替换的类是UIView的子类不同,UIAlertController是UIViewController的子类。
最简单的警报添加了TextField,如以下屏幕截图所示:
显示简单警报的代码如下:
var alertController = UIAlertController.Create("Title", "Pleasr input your name", UIAlertControllerStyle.Alert);
//Add Text
alertController.AddTextField(texfield => { texfield.Placeholder = "Please Input "; });
//Add Action
alertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, alert => {
UITextField envirnmentNameTextField = alertController.TextFields[0];
Console.WriteLine("Your input is :" + envirnmentNameTextField.Text);
}));
// Present Alert
PresentViewController(alertController, true, null);
如果要更改消息或标题的颜色,可以使用NSMutableAttributedString
来实现。
//set color to meesage NSForegroundColorAttributeName
UIStringAttributes attrTextColor = new UIStringAttributes();
attrTextColor.ForegroundColor = UIColor.Purple;
NSMutableAttributedString messageText = new NSMutableAttributedString("Please input your name");
messageText.AddAttributes(attrTextColor, new NSRange(0, 6));
alertController.SetValueForKey(messageText, new NSString("attributedMessage"));