В моем loginViewController есть textField и кнопка для поиска. Я хочу убедиться, что при вводе текста в textField мой интерфейс не перекрывается клавиатурой, а прокручивается до размеров этой клавиатуры и имеется доступ ко всем элементам. Для этого я написал этот код:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(kbDidShow), name: NSNotification.Name.UIKeyboardDidShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(kbDidHide), name: NSNotification.Name.UIKeyboardDidHide, object: nil)
}
@objc func kbDidShow(notification: Notification) {
guard let userInfo = notification.userInfo else { return }
let kdFrameSize = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
(self.view as! UIScrollView).contentSize = CGSize(width: self.view.bounds.size.width, height: self.view.bounds.size.height + kdFrameSize.height)
(self.view as! UIScrollView).scrollIndicatorInsets = UIEdgeInsets(top: 0, left: 0, bottom: kdFrameSize.height, right: 0)
}
@objc func kbDidHide() {
(self.view as! UIScrollView).contentSize = CGSize(width: self.view.bounds.size.width, height: self.view.bounds.size.height)
}
Когда я запускаю приложение, у меня вид сбоку на полосу прокрутки, но сам интерфейс не прокручивается.
В чем может быть проблема?