Ich habe eine UITableView mit einer "Add new item" Zelle am unteren Rand. Wenn der Benutzer auf das Textfeld klickt, wird die Tastatur angezeigt, und die Tabellenansicht erhält eine Inhaltseinfügung, sodass sich ihr Fuß immer über der Tastatur befindet und nicht darunter verborgen ist. Das funktioniert schon fast perfekt, aber nachdem die Tastatur erschienen ist, wird die Tabellenansicht nicht mehr wie bisher nach unten gescrollt, sondern etwas über der Unterseite, so dass die untere Zelle teilweise von der Tastatur verdeckt wird.Einstellung Inhalt setzt UItableView ein wenig scrollen
den Inhalt Einsatz zu setzen, ich auf die Tastatur-Benachrichtigungen registrieren und diesen Code ausführen:
func adjustForKeyboard(notification: Notification) {
let userInfo = notification.userInfo!
let keyboardScreenEndFrame = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let keyboardViewEndFrame = view.convert(keyboardScreenEndFrame, from: view.window)
if notification.name == Notification.Name.UIKeyboardWillHide {
tableView.contentInset = UIEdgeInsets.zero
} else {
tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardViewEndFrame.height, right: 0)
}
tableView.scrollIndicatorInsets = tableView.contentInset
}
Hier ist auch ein paar Screenshots: