и текстфилды становятся не видны.
Вот, что я делаю:
@objc func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
let tfPos = lastTextField!.convert(lastTextField!.frame, to: self.view)
let tfBottom = tfPos.origin.y + tfPos.height
let kbTop = keyboardSize.origin.y - keyboardSize.height
if kbTop < tfBottom {
self.verticalCenterConstraint.constant = -(tfBottom - kbTop)
}
}
}
Проблема в том, что в этих расчетах есть какая-то ошибка, которую я не понимаю. В симуляторе смотрю, что текстфилд выше клавиатуры, а расчеты утверждают, что он ниже.
Может, я позицию клавиатуры как-то неправильно считаю?
FrameBegin это фрейм клавы до того, как она стала видна
Обсуждают сегодня