Swift 4中未解析的标识符“ CALayerContentsGravity”

时间:2018-10-30 07:18:24

标签: swift swift4

下面的代码与“ Swift 3”一起使用效果很好,但在“ Swift 4”中给出了“未解析的标识符CALayerContentsGravity”错误

static func create(image: UIImage, size: Double) -> CALayer {
    let containerLayer = createContainerLayer(size)
    let imageLayer = createContainerLayer(size)
    containerLayer.addSublayer(imageLayer)
    imageLayer.contents = image.cgImage
    imageLayer.contentsGravity = CALayerContentsGravity.resizeAspect
    return containerLayer
}

2 个答案:

答案 0 :(得分:2)

swift4 中,CALayerContentsGravity无法正常工作。

要设置图层的contentsGravity,应使用swift4中可用的常量字符串。

imageLayer.contentsGravity = kCAGravityResizeAspect

希望它会起作用。

答案 1 :(得分:0)

导入Cosmos吊舱后遇到了这个问题。我与作者交谈,他说我需要检查广告连播的目标及其使用的Swift语言。

当我检查Cosmos目标时,Swift版本是4,但是我的主项目使用Swift 4.2。一旦将Cosmos pod的版本从4更改为4.2,该错误就会消失。

suggestion from Cosmos author

这是检查Cosmos pod Swift版本的方法 enter image description here

它需要匹配您的主项目目标中的内容:

enter image description here