如何在Swift中更改UIAlertController中UITextField的高度?

我在UIAlertController添加了一个UITextField 。 我想更改文本字段的高度。 我试过这种方式:

 let alertController = UIAlertController(title: "Comments", message: "Write your comments here", preferredStyle: UIAlertControllerStyle.alert) alertController.addTextField { (textField : UITextField) -> Void in var frame: CGRect = textField.frame frame.size.height = 100 textField.frame = frame textField.placeholder = "comment" print(textField.frame.size.height) } let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel) { (result : UIAlertAction) -> Void in } let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default) { (result : UIAlertAction) -> Void in } alertController.addAction(cancelAction) alertController.addAction(okAction) self.present(alertController, animated: true, completion: nil) 

它不起作用。

这适用于约束

 alertController.addTextField { textField in let heightConstraint = NSLayoutConstraint(item: textField, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 100) textField.addConstraint(heightConstraint) } 

添加约束的结果

@ the4kman给出了正确答案,但您可以使用高度锚点更容易地添加约束:

 textField.addConstraint(textField.heightAnchor.constraint(equalToConstant: 100))