您可以使用 UITextView 伪造 UITextField。您将遇到的问题是您失去了占位符功能。
如果您选择使用 UITextView 并需要占位符,请执行以下操作:
在您的 viewDidLoad 中将颜色和文本设置为占位符:
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
然后在你的 UITextView 被选中时让占位符消失:
func textViewDidBeginEditing (textView: UITextView) {
if myTxtView.textColor.textColor == ph_TextColor && myTxtView.isFirstResponder() {
myTxtView.text = nil
myTxtView.textColor = .white
}
}
当用户完成编辑时,确保有一个值。如果没有,请再次添加占位符:
func textViewDidEndEditing (textView: UITextView) {
if myTxtView.text.isEmpty || myTxtView.text == "" {
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
}
}
您可能需要伪造的其他功能:
UITextField 的每个字母都大写,你可以在 UITableView 中添加这个功能:
myTxtView.autocapitalizationType = .words
UITextField 通常不滚动:
myTxtView.scrollEnabled = false