如何调整UITextView的高度及其所在的容器?

时间:2016-09-04 04:32:10

标签: ios swift uitextview

我正在尝试创建一个文本消息文本框,使文本视图更大,UIView(包含文本视图)也更大。我正在使用约束。当我达到一定高度时,我希望它滚动并停止增加容器的高度。我已尽力尝试各种方式,包括使用此论坛(How do I size a UITextView to its content?)。

当我输入它时会出现一个问题,一旦达到一定高度,就会在下方开始打字。

FIRDatabase.database()
    .child("Users")
    .child(FIRAuth.auth()!.currentUser!.uid)
    .child("instagramLink")
    .removeValue()

我可以做些什么来制作完美的文字视图?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码来实现动态调整大小。您可能希望根据自己的喜好更改differenceOfHeight值。

func textViewDidChange(textView: UITextView) {
        var newFrame = textView.frame
        var minHeight = 40 // ENTER THE MIN HEIGHT OR THE INITIAL HEIGHT OF THE TEXTVIEW
        var maxHeight = 100 // ENTER THE MAX HEIGHT YOU WANT
        newFrame.size  = textView.sizeThatFits(CGSizeMake(newFrame.size.width, maxHeight)) 

    if newFrame.size.height > minHeight && newFrame.size.height < maxHeight {
        let differenceOfHeight = newFrame.size.height - textView.frame.size.height
        holderView.frame = CGRectMake(holderView.frame.origin.x, holderView.frame.origin.y - differenceOfHeight, holderView.frame.size.width, newFrame.size.height)
        textView.frame = newFrame
    }
}