Надеюсь, это поможет вам!

я есть класс клавиатурного контейнера (подкласс UIView / создан программно, поэтому раскадровки нет), включая UITextView для пользователя, чтобы вводить сообщения. Он используется в классе журнала чата и устанавливается как inputAccessoryView. Я хочу динамически изменять высоту, когда пользователь печатает.

Я искал ответы и нашел некоторые. Однако я не получил большинство из них, потому что они не работали на меня.

Что я должен реализовать, чтобы получить желаемый эффект?

Спасибо за вашу помощь!

РЕДАКТИРОВАТЬ:

Прежде всего, спасибо за вашу помощь!

Тем не менее, я довольно новичок в кодировании, поэтому я не мог решить эту проблему. Я предполагаю, что это как-то связано с тем, как я создал свой класс keyboardContainer и его ограничениями ...

Вот соответствующий код из моего класса контейнера клавиатуры:

 let textField:UITextView = {
    let view = UITextView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.layer.cornerRadius = 15
    view.layer.masksToBounds = true
    view.font = UIFont.systemFont(ofSize: 15)
    view.backgroundColor = .white
    return view
}()

overried init(frame: CGRect){
super.init(frame: frame)

addSubview(textField)
    textField.leftAnchor.constraint(equalTo: leftButton, constant: 5).isActive = true
    textField.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true

    textFieldHeightAnchor = textField.heightAnchor.constraint(equalTo: heightAnchor, constant: -10)
    textFieldHeightAnchor.isActive = true

    textFieldRightAnchor = textField.rightAnchor.constraint(equalTo: rightAnchor, constant: -85)
    textFieldRightAnchor.isActive = true
}

Внутри моего ChatLog я использую это:

 lazy var keyboard: KeyboardContainer = {
    let key = KeyboardContainer()
    key.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 45)
    key.sendButton.addTarget(self, action: #selector(handleSend), for: .touchUpInside)
    return key
}()

override var inputAccessoryView: UIView?{
    get{
        return keyboard
    }
}

Что мне нужно изменить? Я предполагаю ограничения?

Ответы на вопрос(3)

Ваш ответ на вопрос