#swift #uitableview #keyboard
Вопрос:
У меня есть UIViewController, который содержит таблицу и представление поиска, когда видна клавиатура, я хочу настроить высоту представления таблицы Вот код:
let notificationCenter = NotificationCenter.default notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIResponder.keyboardWillHideNotification, object: nil) notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIResponder.keyboardWillShowNotification, object: nil) @objc private func adjustForKeyboard(notification: Notification) { guard let keyboardValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue else { return } let keyboardScreenEndFrame = keyboardValue.cgRectValue let keyboardViewEndFrame = view.convert(keyboardScreenEndFrame, from: view.window) if notification.name == UIResponder.keyboardWillHideNotification { self.tableViewBottomConstraint.constant = 0 } else { self.tableViewBottomConstraint.constant = keyboardViewEndFrame.height } self.view.layoutIfNeeded() }
проблема в том, что смещение содержимого UITableView имеет пробел в 100 пикселей внизу, последняя ячейка с заголовком «последний» должна находиться в верхней части клавиатуры. Есть идеи, что я делаю не так?
Комментарии:
1. У вас есть набор нижнего содержимого? Это может подтолкнуть контент вверх