swift – 无法将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)
}

此外,您不需要打开子图层(在下标之前),因为它已声明!因此隐含地,自动展开.

最后,您引用的错误消息似乎被错误复制,因为它是荒谬的.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...