在UIKeyboardWillShowNotification
的userInfo字典中,关键字UIKeyboardAnimationCurveUserInfoKey
包含一个值为7
的Int
。
现在我需要将这个Int
传递给UIView.setAnimationCurve(<here>)
。我尝试创建所需的UIViewAnimationCurve
枚举,如下所示:UIViewAnimationCurve(rawValue: 7)
。因为未记录该枚举的原始值7
,结果始终为nil
。
这种方法在Objective-C中可以正常工作。有什么办法可以将这个动画曲线从通知中获取并在Swift中使用UIView动画吗?
更新: 正如Martin指出的那样,自Xcode 6.3起,这已经不再是问题了。
从Xcode 6.3发行说明中可知:
导入具有未记录值(例如
UIViewAnimationCurve
)的NS_ENUM
类型现在可以使用init(rawValue:)
初始化程序从其原始整数值转换,而不会被重置为nil
。 可以编写使用原始值初始化程序的代码来解决此问题,而无需使用unsafeBitCast
。