2017-09-12 18 views
1

UITextFieldUIAlertControllerに追加しました。私はテキストフィールドの高さを変更したい。私はこの方法で試しました。Swiftの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) 

これは機能しません。

+0

は、この[解答](https://stackoverflow.comを試してみてください/ a/37470191/4056108) – chirag90

+1

すでに試してみましたが、うまくいきませんでした:( –

答えて

8

制約と一緒に使用できます。 the4kman @

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

result of adding the constraint

+0

ありがとうございます。その作業:) –

+0

+1 –

+0

このテキストフィールドを複数行にすることはできますか? @ the4kman –

1

正しい答えを与えていますが、高さのアンカーを使用して簡単に制約を追加することができます

textField.addConstraint(textField.heightAnchor.constraint(equalToConstant: 100)) 
関連する問題