gpt4 book ai didi

iOS 13 替代 'setAnimationCurve'

转载 作者:行者123 更新时间:2023-12-05 03:57:23 25 4
gpt4 key购买 nike

在 iOS 13 中,Apple 弃用了我在我的应用程序中使用的许多功能。对于它们中的大多数,在 StackOverflow 上已经有很好解释的替代方案 - 但对于“setAnimationCurve”则没有。

'setAnimationCurve' was deprecated in iOS 13.0: Use the block-based animation API instead

这是我拥有的确切代码:

  // MARK: - Keyboard up/down adjustment for the addMediaBar

@objc func keyboardWillShow(notification: NSNotification) {

if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {

let userInfo = notification.userInfo! as [AnyHashable: Any]

let animationDuration = userInfo[UIResponder.keyboardAnimationDurationUserInfoKey] as! NSNumber

let animationCurve = userInfo[UIResponder.keyboardAnimationCurveUserInfoKey] as! NSNumber



if addMediaBarBottomAnchor.constant == 0 {

let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first



if let bottomPadding = window?.safeAreaInsets.bottom {

print(keyboardSize.height)

print(bottomPadding)



UIView.setAnimationCurve(UIView.AnimationCurve(rawValue: animationCurve.intValue)!)

UIView.animate(withDuration: animationDuration.doubleValue) {

self.addMediaBarBottomAnchor.constant = -keyboardSize.height + bottomPadding

self.view.layoutIfNeeded()

}



} else {

UIView.setAnimationCurve(UIView.AnimationCurve(rawValue: animationCurve.intValue)!)

UIView.animate(withDuration: animationDuration.doubleValue) {

self.addMediaBarBottomAnchor.constant = -keyboardSize.height

self.view.layoutIfNeeded()

}

}



}

}

}

每当键盘出现时,我正在使用这段代码向上/向下滑动屏幕底部的栏

如果能就此主题提供任何帮助,我将不胜感激。

最佳答案

如果你想要一个内置的动画曲线,调用

animate(withDuration:delay:options:animations:completion:)

选项: 允许您包含动画曲线。

但更好的选择是根本不使用 UIView 类动画调用。使用 UIViewPropertyAnimator。现在您可以应用任何您喜欢的动画曲线。

关于iOS 13 替代 'setAnimationCurve',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561810/

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