Кнопка разрыва при записи в textField! Любая помощь для этой ошибки? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть textField и кнопка, которая связывается с Keyboard, но при попытке написать в textField кнопку disapper и при закрытии клавиатуры кнопку

я использую эту функцию

func bindToKeyboard(){
    NotificationCenter.default.addObserver(self, selector: #selector(keybordWillChange), name: UIResponder.keyboardWillChangeFrameNotification, object: nil)
}

@objc func keybordWillChange(_ notification : NSNotification){
let duration = notification.userInfo![UIResponder.keyboardAnimationDurationUserInfoKey] as! Double
let curve = notification.userInfo![UIResponder.keyboardAnimationCurveUserInfoKey] as! UInt
let startingFrame = (notification.userInfo![UIResponder.keyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue
let endingFrame = ( notification.userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let deltaY = endingFrame.origin.y - startingFrame.origin.y
UIView.animateKeyframes(withDuration: duration, delay:0.0, options: UIView.KeyframeAnimationOptions(rawValue: curve), animations: {
    self.frame.origin.y += deltaY
    print(deltaY)


}, completion: nil)
}  

я делегирую текстовое поле в ViewDidload

pointsGoalTextField.delegate = self

1 Ответ

0 голосов
/ 28 марта 2020

Я проверил вашу реализацию, и она отлично работает. Я просто изменил:

self.frame.origin.y += deltaY

на:

self.theButton.frame.origin.y += deltaY

, чтобы элементы в верхней части окна не исчезали. может быть что-то еще, что заставляет вашу кнопку исчезнуть, или это один из элементов в верхней части представления

...