KennethTsang / GrowingTextView

An UITextView in Swift. Support auto growing, placeholder and length limit.
MIT License
1.07k stars 133 forks source link

Would not work unless I added setNeedsLayout #57

Open jlubeck opened 4 years ago

jlubeck commented 4 years ago

I've been using your library for years without problems. Recently I had to resume a project which I haven't touched in several months, so I'm not sure if this is now an iOS 13.3 issue or what, but the textview would just not work.

Until I went into the soucecode of the GrowingTextView and added setNeedsLayout here:

    // Limit the length of text
    @objc func textDidChange(notification: Notification) {
        if let sender = notification.object as? GrowingTextView, sender == self {
            if maxLength > 0 && text.count > maxLength {
                let endIndex = text.index(text.startIndex, offsetBy: maxLength)
                text = String(text[..<endIndex])
                undoManager?.removeAllActions()
            }
            setNeedsDisplay()
            setNeedsLayout() <-- HERE
        }
    }

Then everything works as expected. Is this normal? If not, why could it be happening?

kubbing commented 4 years ago

I am experiencing the same issue. Happens only when I disable scrolling textView.isScrollEnabled = false.