如何創(chuàng)建多行UITextfield?我正在開發(fā)一個用戶必須寫一些信息的應用程序。為此,我需要一個UITextField多線(通常UITextField是一條線)。當我在Google上搜索時,我找到了一個使用UITextView而不是UITextfield為此目的的答案。
3 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
UITextField
特別是只有一行。
您的Google搜索是正確的,您需要使用UITextView
而不是UITextField
顯示和編輯多行文字。
在Interface Builder中,添加所需的UITextView
位置,然后選擇“可編輯”框。默認情況下它將是多行的。

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
好吧,我做了一些技巧;)首先構建一個UITextField
并增加它是size
這樣的:
CGRect frameRect = textField.frame; frameRect.size.height = 53; textField.frame = frameRect;
然后建立一個UITextView
完全在你制作我的同一區(qū)域UITextField
,并刪除它background color
。現在看起來你有多條線TextField
!

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
您可以使用UITextView偽造UITextField。您將遇到的問題是您丟失了占位符功能。
如果您選擇使用UITextView并需要占位符,請執(zhí)行以下操作:
在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 = .words
UITextField通常不會滾動:
myTxtView.scrollEnabled = false
- 3 回答
- 0 關注
- 2427 瀏覽
添加回答
舉報
0/150
提交
取消