gpt4 book ai didi

ios - 在哪里可以找到有关 swift alert (UIAlertController) 的明确解释?

转载 作者:IT王子 更新时间:2023-10-29 05:10:35 26 4
gpt4 key购买 nike

找不到对此的清晰且信息丰富的解释。

最佳答案

在某个主题上搜索了一段时间后,我没有找到一个明确的解释,即使在它的类引用中 UIAlertController Reference

还可以,但对我来说还不够清晰。

所以在收集了一些和平之后我决定做出自己的解释(希望对你有帮助)

就是这样:

  1. UIAlertView 如指出的那样已弃用: UIAlertView in Swift
  2. UIAlertController 应该在 iOS8+ 中使用所以要首先创建一个我们需要实例化它,Constructor(init) 有 3 个参数:

2.1 title:String -> 显示在警告对话框顶部的粗体文本

2.2 message:String -> smaller text (几乎解释了它自己)

2.3 prefferedStyle:UIAlertControllerStyle -> 定义对话框样式,大多数情况下:UIAlertControllerStyle.Alert

  1. 现在要实际向用户展示它,我们可以使用 showViewControllerpresentViewController并将我们的警报作为参数传递

  2. 要添加一些与用户的交互,我们可以使用:

4.1 UIAlertController.addAction 创建按钮

4.2UIAlertController.addTextField 创建文本字段

编辑注释:下面的代码示例,针对 swift 3 语法进行了更新

示例 1:简单对话框

@IBAction func alert1(sender: UIButton) {
//simple alert dialog
let alert=UIAlertController(title: "Alert 1", message: "One has won", preferredStyle: UIAlertControllerStyle.alert);
//show it
show(alert, sender: self);
}

示例 2:具有一个输入文本字段和两个按钮的对话框

@IBAction func alert2(sender: UIButton) {
//Dialog with one input textField & two buttons
let alert=UIAlertController(title: "Alert 2", message: "Two will win too", preferredStyle: UIAlertControllerStyle.alert);
//default input textField (no configuration...)
alert.addTextField(configurationHandler: nil);
//no event handler (just close dialog box)
alert.addAction(UIAlertAction(title: "No", style: UIAlertActionStyle.cancel, handler: nil));
//event handler with closure
alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.default, handler: {(action:UIAlertAction) in
let fields = alert.textFields!;
print("Yes we can: "+fields[0].text!);
}));
present(alert, animated: true, completion: nil);
}

示例3:一个自定义输入文本框和一个按钮

@IBAction func alert3(sender: UIButton) {
// one input & one button
let alert=UIAlertController(title: "Alert 3", message: "Three will set me free", preferredStyle: UIAlertControllerStyle.alert);

//configured input textField
var field:UITextField?;// operator ? because it's been initialized later
alert.addTextField(configurationHandler:{(input:UITextField)in
input.placeholder="I am displayed, when there is no value ;-)";
input.clearButtonMode=UITextFieldViewMode.whileEditing;
field=input;//assign to outside variable(for later reference)
});
//alert3 yesHandler -> defined in the same scope with alert, and passed as event handler later
func yesHandler(actionTarget: UIAlertAction){
print("YES -> !!");
//print text from 'field' which refer to relevant input now
print(field!.text!);//operator ! because it's Optional here
}
//event handler with predefined function
alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.default, handler: yesHandler));

present(alert, animated: true, completion: nil);
}

希望对您有所帮助,祝您好运 ;-)

关于ios - 在哪里可以找到有关 swift alert (UIAlertController) 的明确解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com