在使用
Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小?
当视图加载时以及在用户键入时,文本字段将根据需要调整大小以适合其内容.
理想情况下,文本字段将停止在特定点(例如,6行)调整大小,并变为可滚动.
解决方法
您必须使用UITextView而不是UITextField.
然后,您可以使用sizeThatFits方法.
但首先你必须知道一条线的高度.您可以使用lineHeight获取该信息:
var amountOfLinesToBeShown: CGFloat = 6 var maxHeight: CGFloat = yourTextview.font.lineHeight * amountOfLinesToBeShown
之后,只需在viewDidLoad方法中调用sizeThatFits方法,并将maxHeight(第*行)设置为textview height:
yourTextview.sizeThatFits(CGSizeMake(yourTextview.frame.size.width,maxHeight))