小编典典

根据内容调整textField的大小

swift

在以Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小?

加载视图时以及用户键入时,文本字段将根据需要调整大小以适合其内容。

理想情况下,文本字段将在某个点(例如6行)处停止调整大小,并变为可滚动。


阅读 332

收藏
2020-07-07

共1个答案

小编典典

您必须使用UITextView而不是UITextField

然后,您可以使用该sizeThatFits方法。

但是首先,您必须知道一条线的高度。您可以使用lineHeight以下方法获取该信息:

var amountOfLinesToBeShown: CGFloat = 6
var maxHeight: CGFloat = yourTextview.font.lineHeight * amountOfLinesToBeShown

之后,只需在sizeThatFits方法内部调用viewDidLoad方法,然后将maxHeight(line * 6)设置为textview的高度:

yourTextview.sizeThatFits(CGSizeMake(yourTextview.frame.size.width, maxHeight))
2020-07-07