如何创建多行的UITextfield?
如何创建多行的UITextfield?
我正在开发一个应用程序,用户需要写一些信息。为此,我需要一个多行的UITextField
(通常情况下UITextField
只有单行)。
当我通过谷歌搜索时,我发现可以使用UITextView
而不是UITextfield
来实现这一目的。
admin 更改状态以发布 2023年5月24日
您可以使用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通常会将每个字母都大写,您可以将此功能添加到UITextView中:
myTxtView.autocapitalizationType = .words
UITextField通常不会滚动:
myTxtView.scrollEnabled = false