相关疑难解决方法(0)

将NSNotification.userInfo [UIKeyboardAnimationCurveUserInfoKey]转换为Enum

使用NSNotification.userInfo中的NSNumber [UIKeyboardAnimationCurveUserInfoKey]

目标CI将执行以下操作

 [UIView animateWithDuration:1.0
                      delay:0
                    options:(curveValue.intValue << 16)
Run Code Online (Sandbox Code Playgroud)

即使bitshift运算符相同,Swift也不允许我这样做.我想获得相当于枚举的原始值

UIViewAnimationOptionCurveEaseInOut = 0 << 16,

UIViewAnimationOptionCurveEaseIn = 1 << 16,

UIViewAnimationOptionCurveEaseOut = 2 << 16,

UIViewAnimationOptionCurveLinear = 3 << 16,

更新


我不确定以下方法是否正确,似乎有效

 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)
Run Code Online (Sandbox Code Playgroud)

ios swift

9
推荐指数
1
解决办法
3603
查看次数

标签 统计

ios ×1

swift ×1