ios – 基于内容调整textField的大小

在使用 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))

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...