swift – 无法将CGFloat类型的值赋给CGFloat类型的值
发布时间:2020-12-14 05:39:40 所属栏目:百科 来源:网络整理
导读:我在尝试设置CAShapeLayer的zPosition时遇到错误.这是代码: self.view.layer.sublayers[l].zPosition = CGFloat(1) 出于某种原因,我收到此错误:无法将CGFloat类型的值赋给CGFloat类型的值!出于某种原因,错误是可选的.我已经看到其他在线完成的示例没有任
我在尝试设置CAShapeLayer的zPosition时遇到错误.这是代码:
self.view.layer.sublayers[l].zPosition = CGFloat(1) 出于某种原因,我收到此错误:无法将CGFloat类型的值赋给CGFloat类型的值!出于某种原因,错误是可选的.我已经看到其他在线完成的示例没有任何转换(zPosition = 1),所以我不知道这里的问题是什么. 谢谢!
CALayer的子图层属性定义为[AnyObject]!.当你下标为… sublayers [l]时,你得到一个AnyObject,当然,它没有zPosition的可设置属性.例如,您需要将返回的AnyObject向下转换为CALayer
if let layer = self.view.layer.sublayers[l] as? CALayer { layer.zPosition = CGFloat(1) } 此外,您不需要打开子图层(在下标之前),因为它已声明!因此隐含地,自动展开. 最后,您引用的错误消息似乎被错误复制,因为它是荒谬的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |