Я пытаюсь переместить контент вверх, когда появляется клавиатура. Это контент, представляющий собой простую форму входа в систему.
Обратите внимание, что это не UITextField
s. Это просто маленький UITableView
в середине UIViewController
. И у меня есть UIScrollView
, заполняющий контроллер представления, встраивающий это табличное представление.
Я зарегистрировался для получения уведомлений с клавиатуры, UIKeyboardDidShowNotification
и UIKeyboardWillHideNotification
.
И в методе, который срабатывает при появлении клавиатуры, я реализовал вариант ответа this, который делает примерно то же вещь, устанавливая значение bottom
для UIEdgeInsets
, которое используется для установки contentInset
представления прокрутки.
func keyboardWasShown(notification: NSNotification) {
var info: NSDictionary = notification.userInfo as NSDictionary
var keyboardSize: CGSize = info.objectForKey(UIKeyboardFrameBeginUserInfoKey).CGRectValue().size
let contentInsets: UIEdgeInsets = UIEdgeInsetsMake(0, 0, keyboardSize.height, 0)
self.scrollView.contentInset = contentInsets
self.scrollView.scrollIndicatorInsets = contentInsets
}
Проблема в том, что он ничего не делает. Я успешно получил высоту клавиатуры, но ничего не изменилось. Кто-нибудь может сказать мне, почему и что я должен сделать, чтобы это исправить?
Спасибо.