我想在用户单击 View 上的某处时添加一个动态文本字段。文本字段应随着用户键入而增加大小。目前我正在使用下面的代码
textfield = UITextField(frame: rect)
textfield.backgroundColor = UIColor.clear
textfield.layer.borderColor = UIColor.clear.cgColor
textfield.autocorrectionType = UITextAutocorrectionType.no
textfield.textColor = UIColor.blue
textfield.textAlignment = .right
textfield.layer.borderWidth = 1.0
textfield.delegate = self
textfield.becomeFirstResponder()
但是这个文本框不会自动增加高度和宽度。
最佳答案
你可以试试
class ViewController: UIViewController , UITextViewDelegate {
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self
}
func textViewDidChange(_ textView: UITextView) {
let ff = textView.text! as NSString
let rr = ff.size(withAttributes: [NSAttributedStringKey.font:UIFont(name: "Helvetica", size: 17)])
textView.frame = CGRect(origin: textView.frame.origin, size: rr)
}
}
//
阿拉伯语
func textViewDidChange(_ textView: UITextView) {
let ff = textView.text! as NSString
let rr = ff.size(withAttributes: [NSAttributedStringKey.font:UIFont(name: "Helvetica", size: 17)!])
textView.frame = CGRect(origin:CGPoint(x: self.view.frame.width - rr.width, y: textView.frame.origin.y), size: rr)
}
关于ios - 我如何以编程方式创建动态文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51358901/