Попробуйте это. Отключите IQKeyboardManager для этого viewController.
для того,
IQKeyboardManager.sharedManager().disableInViewControllerClass(your view controller class name here)
И в этом ViewController записи следующего кода. Он будет двигаться ваш взгляд вверх, как на высоте клавиатуры
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(Login.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(Login.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y == 0{
self.view.frame.origin.y -= keyboardSize.height
}
}
}
func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y += keyboardSize.height
}
}
}
Теперь вы хотите, чтобы ваши "HEADER" вид остается на вершине то,
Делай так:
**
YourViewController.view -> [headerView] [contentView]
**
Put TextField в [contentView] И изменить [contentView] .y вместо self.view в коде выше.
IQKeyboardManager отвечает за полную видимость вашего TextField/TextView. Поэтому, чтобы сделать видимым текстовое поле, он переместит вид вверх. – Wolverine
Я бы предположил, что для достижения этой функциональности отключите IQKeyboardmanager для этого контроллера вида и вручную переместите текстовое поле вверх, когда появится клавиатура. – Wolverine
Я новичок в этом. Вот почему я выбрал эту библиотеку. Ни за что? –