猿问

如何创建多行UITextfield?

如何创建多行UITextfield?

我正在开发一个用户必须写一些信息的应用程序。为此,我需要一个UITextField多线(通常UITextField是一条线)。

当我在Google上搜索时,我找到了一个使用UITextView而不是UITextfield为此目的的答案。


SMILET
浏览 2326回答 3
3回答

德玛西亚99

UITextField 特别是只有一行。您的Google搜索是正确的,您需要使用UITextView而不是UITextField显示和编辑多行文字。在Interface Builder中,添加所需的UITextView位置,然后选择“可编辑”框。默认情况下它将是多行的。

喵喔喔

好吧,我做了一些技巧;)首先构建一个UITextField并增加它是size这样的:CGRect frameRect = textField.frame;         frameRect.size.height = 53;         textField.frame = frameRect;然后建立一个UITextView完全在你制作我的同一区域UITextField,并删除它background color。现在看起来你有多条线TextField!

MMTTMM

您可以使用UITextView伪造UITextField。您将遇到的问题是您丢失了占位符功能。如果您选择使用UITextView并需要占位符,请执行以下操作:在viewDidLoad中,将颜色和文本设置为占位符:myTxtView.textColor = .lightGraymyTxtView.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 = .wordsUITextField通常不会滚动:myTxtView.scrollEnabled = false
随时随地看视频慕课网APP

相关分类

iOS
我要回答