с iOS 13 Apple устарела много функций, которые я использовал в своем приложении. Для большинства из них уже есть альтернативы, хорошо объясненные в StackOverflow - но не для ' setAnimationCurve '.
'setAnimationCurve' устарело в iOS 13.0: Вместо этого используйте API анимации на основе блоков
Это мой точный код:
// 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()
}
}
}
}
}
Я использую этот код для сдвигайте вверх / вниз полосу в нижней части экрана, когда на клавиатуре появляется .
Я был бы очень признателен за любую помощь по этой теме.