根据内容调整textField的大小

Mic*_*ola 8 resize textfield ios swift

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

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

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

Chr*_*örz 8

你必须使用UITextView而不是UITextField.

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

但首先你必须知道一条线的高度.您可以使用lineHeight以下方式获取该信息:

var amountOfLinesToBeShown: CGFloat = 6
var maxHeight: CGFloat = yourTextview.font.lineHeight * amountOfLinesToBeShown
Run Code Online (Sandbox Code Playgroud)

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

yourTextview.sizeThatFits(CGSizeMake(yourTextview.frame.size.width, maxHeight))
Run Code Online (Sandbox Code Playgroud)