Надеюсь, это поможет вам!
я есть класс клавиатурного контейнера (подкласс 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
}
}
Что мне нужно изменить? Я предполагаю ограничения?