【问题标题】:Swift: Insert Alert Box with Text Input (and Store Text Input )Swift:插入带有文本输入的警报框(和存储文本输入)
【发布时间】:2015-04-22 20:41:28
【问题描述】:

在我的viewController 之一中,我想显示一个alert box,提示user 输入此信息。然后,我希望用户使用NSUserDefaults 存储此输入。我怎样才能做到这一点?

提前感谢您!

【问题讨论】:

  • @MarkBailey 为什么不直接给他一个答案呢?为什么你必须这样? 3 下面的人提供了答案,而你试图表现得聪明a$$

标签: swift uialertview nsuserdefaults


【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 2016-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多