我知道要使用此代码以编程方式设置常规文本字段的高度
textField.frame.size.height = 60
但是,如果我将此代码实现到UIAlertController
内的文本字段,那么它就不起作用了。我也尝试将键盘更改为支持ASCII的键盘,但在运行应用程序后它不会更改键盘。我好像错过了什么
以下是我的警报控制器的代码
let alertController = UIAlertController(title: "Write Comment", message: "Tell us why you are not satisfied", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "Send", style: .default, handler: { alert -> Void in
let textField = alertController.textFields![0] as UITextField
textField.frame.size.height = 60
textField.keyboardType = .asciiCapable
let commentDefect = textField.text ?? ""
self.sendComment(defectID: defectID, comment: commentDefect)
}))
alertController.view.tintColor = UIColor(red: 0/255, green: 129/255, blue: 58/255, alpha: 1)
alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
alertController.addTextField(configurationHandler: {(textField : UITextField!) -> Void in
textField.placeholder = ""
})
self.present(alertController, animated: true, completion: nil)
似乎高度仍然在17左右。这里出了什么问题?
答案 0 :(得分:2)
您已添加以下代码: -
alertController.addTextField(configurationHandler: {(textField : UITextField!) -> Void in
textField.placeholder = ""
let heightConstraint = NSLayoutConstraint(item: textField, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 120)
textField.addConstraint(heightConstraint)
})
希望对你有所帮助。
重复
答案 1 :(得分:0)
let alertController = UIAlertController(title: "Write Comment", message: "Tell us why you are not satisfied", preferredStyle: .alert)
alertController.addTextField { (textField:UITextField) in
let heightConstraint = NSLayoutConstraint(item: textField, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: yourHeightValue)
textField.placeholder = ""
textField.addConstraint(heightConstraint)
textField.keyboardType = .asciiCapable
}
alertController.addAction(UIAlertAction(title: "Send", style: .default, handler: { (alert) in
let commentDefect = alertController.textFields?.first?.text ?? ""
self.sendComment(defectID: defectID, comment: commentDefect)
}))
alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
alertController.view.tintColor = UIColor(red: 0.0/255.0, green: 129.9/255.0, blue: 58.0/255.0, alpha: 1.0)
self.present(alertController, animated: true, completion: nil)