Swift:插入带有文本输入的警报框(和存储文本输入)
Posted
技术标签:
【中文标题】Swift:插入带有文本输入的警报框(和存储文本输入)【英文标题】:Swift: Insert Alert Box with Text Input (and Store Text Input ) 【发布时间】:2015-04-22 20:41:28 【问题描述】:在我的viewController
之一中,我想显示一个alert box
,提示user
输入此信息。然后,我希望用户使用NSUserDefaults
存储此输入。我怎样才能做到这一点?
提前感谢您!
【问题讨论】:
@MarkBailey 为什么不直接给他一个答案呢?为什么你必须这样? 3 下面的人提供了答案,而你试图表现得聪明a$$ 【参考方案1】:看看这个:
let alertController = UIAlertController(title: "Email?", message: "Please input your email:", preferredStyle: .alert)
let confirmAction = UIAlertAction(title: "Confirm", style: .default) (_) in
guard let textFields = alertController.textFields,
textFields.count > 0 else
// Could not find textfield
return
let field = textFields[0]
// store your data
UserDefaults.standard.set(field.text, forKey: "userEmail")
UserDefaults.standard.synchronize()
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) (_) in
alertController.addTextField (textField) in
textField.placeholder = "Email"
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)
【讨论】:
【参考方案2】:SWIFT 3
func presentAlert()
let alertController = UIAlertController(title: "Email?", message: "Please input your email:", preferredStyle: .alert)
let confirmAction = UIAlertAction(title: "Confirm", style: .default) (_) in
if let emailTextField = alertController.textFields?[0]
// do your stuff with emailTextField
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) (_) in
alertController.addTextField (textField) in
textField.placeholder = "Email"
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
present(alertController, animated: true, completion: nil)
【讨论】:
【参考方案3】:在 Swift 3 中
let alertController = UIAlertController(title: "SecureStyle", message: "SecureStyle AlertView.", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addTextFieldWithConfigurationHandler (textField : UITextField) -> Void in
textField.secureTextEntry = true
textField.placeholder = "Password"
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) (result : UIAlertAction) -> Void in
print("Cancel")
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) (result : UIAlertAction) -> Void in
print(alertController.textFields?.first?.text)
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self.presentViewController(alertController, animated: true, completion: nil)
【讨论】:
以上是关于Swift:插入带有文本输入的警报框(和存储文本输入)的主要内容,如果未能解决你的问题,请参考以下文章