Перемещение uitextfield с помощью клавиатуры - изменения в swift 4.2?

У меня была эта функция для перемещения определенных текстовых полей вверх, когда клавиатуры блокировали их обзор - я уверен, вы все об этом знаете:

override func viewDidLoad() {
    super.viewDidLoad()

    let center: NotificationCenter = NotificationCenter.default
    center.addObserver(self, selector: #selector(keyboardDidShow(notification:)), name: NSNotification.Name?.UIKeyboardDidShow, object: nil)
    center.addObserver(self, selector: #selector(keyboardWillHide(notification:)), name: NSNotification.Name?.UIKeyboardWillHide, object: nil)

}

Но когда я недавно обновился до Swift 4.2, они перестали работать, и появились следующие предложения:

Замените UIKeyboardDidShow на UIResponder.keyboardDidShowNotification и

Замените UIKeyboardWillHide на UIResponder.keyboardWillHideNotification.

Но когда я нажал «исправить», я получаю ошибку (x2):

Тип "NSNotification.Name" не имеет члена "UIResponder"

Мне это кажется багом? Этот xCode не может принять собственные изменения ?? Кто-нибудь сталкивался с этим и знает, что делать?

Спасибо!

0
0
666
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это

let notificationCenter = NotificationCenter.default
notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIResponder.keyboardWillHideNotification, object: nil)
notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIResponder.keyboardWillChangeFrameNotification object: nil)

Больше информации по этой ссылке: - введите описание ссылки здесь

Надеюсь, это вам поможет: D Спасибо

Работает как шарм (Y) Просто странно, что xCode не меняет его на это, если вы спросите меня!

Anton Bjerg 31.10.2018 13:25

@AntonBjerg иногда случается при изменении иерархии классов: D наслаждайтесь

VDPurohit 31.10.2018 13:29

Другие вопросы по теме