gpt4 book ai didi

ios - 动画后按钮消失

转载 作者:行者123 更新时间:2023-11-28 12:17:56 25 4
gpt4 key购买 nike

我正在使用 UIView Extension for button 使用键盘将其向上滑动。

extension UIView {
func bindToKeyboard() {
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange(_:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil)
}

@objc func keyboardWillChange(_ notification: NSNotification) {
let duration = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey] as! Double
let curve = notification.userInfo![UIKeyboardAnimationCurveUserInfoKey] as! UInt
let startingFrame = (notification.userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue
let endingFrame = (notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let deltaY = endingFrame.origin.y - startingFrame.origin.y

let options = UIViewAnimationOptions(rawValue: curve << 16)

UIView.animate(withDuration: duration, delay: 0, options: options, animations: {
self.frame.origin.y += deltaY
self.layoutIfNeeded()
}, completion: nil)
}
}

然后在 ViewController 中使用:

func setUpView() {
okayButton.bindToKeyboard()
self.isHeroEnabled = true
}

但问题是当我按下屏幕上的其他按钮时:

Gif

保存按钮在点击其他按钮后消失,当它在“上部位置”时,当它在底部时出现。我究竟做错了什么?如何预防/修复它?

编辑:这些按钮中的任何一个都没有 Action ! (+,-,保存)

谢谢!

最佳答案

您不一定需要更新 self.view 。您可以做的是为保存按钮创建一个 IBOutlet 底部间距。

@IBOutlet weak var saveButtonBottomSpacing: NSLayoutConstraint!
  1. 当键盘打开时,将底部间距常量设置为键盘的高度。
  2. 当键盘关闭时,恢复底部间距。可能是 0 或您想要的值。

您可以在 UIView 动画 block 中进行此更改。

关于ios - 动画后按钮消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45838132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com