在使用Swift編寫的iOS應用程序中使用自動佈局時,如何根據內容調整textField的大小?根據內容調整textField的大小
當視圖加載時以及用戶輸入時,文本字段將根據需要調整其大小以適應其內容。
理想情況下,文本字段將停止在特定點(例如6行)調整大小,並且變爲可滾動。
在使用Swift編寫的iOS應用程序中使用自動佈局時,如何根據內容調整textField的大小?根據內容調整textField的大小
當視圖加載時以及用戶輸入時,文本字段將根據需要調整其大小以適應其內容。
理想情況下,文本字段將停止在特定點(例如6行)調整大小,並且變爲可滾動。
你必須使用一個UITextView
,而不是UITextField
然後,您可以使用sizeThatFits
方法。
但首先你必須知道一條線會有多高。您可以通過使用lineHeight
獲得這些信息:
var amountOfLinesToBeShown:CGFloat = 6
var maxHeight:CGFloat = yourTextview.font.lineHeight * amountOfLinesToBeShown
之後,只需調用siteThatFits
方法您viewDidLoad
方法內並設置maxHeight(line * 6
)爲您的TextView的高度:
yourTextview.sizeThatFits(CGSizeMake(yourTextview.frame.size.width, maxHeight))
斯威夫特3
var textView : UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView = UITextView()
textView.sizeThatFits(CGSize(width: textView.frame.size.width, height: textView.frame.size.height))
}
爲什麼使用2次'yourTextview.sizeThatFits(...)'? – milo526 2015-04-11 17:04:08
你說得對。我改變了 – Christian 2015-04-11 18:22:09
有什麼辦法可以增加UITextField的行數? @Christian – 2015-05-06 10:04:44