У меня есть несколько UITextFields, реализованных в UITableView для формы входа. При отмене первого ответчика в обоих случаях в первый раз происходит действительно странный скачок анимации. Поскольку они почти полностью созданы в Interface Builder с файлом .xib, у меня практически нет кода для добавления. Но вот забавный .gif, показывающий поведение:
Обновление:
Я сузил его до того факта, что я прослушиваю события клавиатуры, чтобы настроить ограничения просмотра. Это код, который вызывает проблему:
func keyboardWillHide(notification: NSNotification) {
// tried self.formContainer.layoutIfNeeded() here too to force pending layouts
formContainerYConstraint.constant = 40
UIView.animateWithDuration(0.4) { () -> Void in
self.formContainer.layoutIfNeeded()
}
}
... где контейнер формы - это представление, в котором находится табличное представление и кнопка входа.