在 Swift 中获取 UIImageView 旋转值


我正在尝试将 Objective-C 中的

iOS 项目重写为 Xcode 6.1 中的 Swift,但我无法"翻译"此 Objective-C 行:

CGFloat imageRotation = [[self.imageView valueForKeyPath:@"layer.presentationLayer.transform.rotation.z"] floatValue];

如何在 Swift 中获取我的 UIImageView 旋转值?

它在 Swift 中只是稍微复杂一些,因为 valueForKeyPath 返回一个可选的,必须解开包装,然后显式转换为NSNumber。例如,这可以通过可选链接的组合来完成和可选演员:

let zKeyPath = "layer.presentationLayer.transform.rotation.z"
let imageRotation = (self.imageView.valueForKeyPath(zKeyPath) as? NSNumber)?.floatValue ?? 0.0

如果键路径不是,则最后一个"nil-合并运算符"??将值设置为 0.0set(或不是NSNumber(,这模仿了Objective-C的行为,其中将floatValue消息发送到nil也会返回0.0

相关内容

  • 没有找到相关文章

最新更新