Using NSNumber from NSNotification.userInfo[UIKeyboardAnimationCurveUserInfoKey]
In Objective C I would do the following
[UIView animateWithDuration:1.0
delay:0
options:(curveValue.intValue << 16)
Swift will not allow me to do the same even though the bitshift operator is the same. I would like to get the enum raw value which is equivalent
UIViewAnimationOptionCurveEaseInOut = 0 << 16,
UIViewAnimationOptionCurveEaseIn = 1 << 16,
UIViewAnimationOptionCurveEaseOut = 2 << 16,
UIViewAnimationOptionCurveLinear = 3 << 16,
update
I am not sure if the below approach is correct , it seems to work
var animationCurve : UIViewAnimationOptions = UIViewAnimationOptions.CurveEaseOut
info[UIKeyboardAnimationCurveUserInfoKey].getValue(&animationCurve)
UIView.animateWithDuration(durationValue.doubleValue,
delay: 0,
options: animationCurve,
animations: {self.navigationController.toolbar.frame = myRect},
completion: nil)
In Beta-5
UIViewAnimationOptions.fromRaw(
UInt(
( p.userInfo[ UIKeyboardAnimationCurveUserInfoKey ] as NSNumber ).unsignedIntValue << 16
)
)!
You have to init a UIViewAnimationOptions with the rawValue like this:
UIView.animateWithDuration(1.0,
delay: 0,
options: UIViewAnimationOptions.init(rawValue:UInt(curveValue.intValue << 16)),
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With