如何创建多行的UITextfield?

9 浏览
0 Comments

如何创建多行的UITextfield?

我正在开发一个应用程序,用户需要写一些信息。为此,我需要一个多行的UITextField(通常情况下UITextField只有单行)。

当我通过谷歌搜索时,我发现可以使用UITextView而不是UITextfield来实现这一目的。

admin 更改状态以发布 2023年5月24日
0
0 Comments

您可以使用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

0
0 Comments

UITextField仅限于单行文本。

你的谷歌搜索是正确的,你需要使用UITextView来显示和编辑多行文本,而不是UITextField

在界面生成器中,将UITextView添加到所需的位置,并选择“可编辑”框。它默认将是多行的。

0