Неразрешенный идентификатор «CALayerContentsGravity» в Swift 4 - PullRequest
0 голосов
/ 30 октября 2018

Приведенный ниже код хорошо работает с «Swift 3», но выдает ошибку «неразрешенный идентификатор CALayerContentsGravity» в «Swift 4»

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 голосов
/ 04 апреля 2019

У меня была эта проблема после того, как я импортировал модуль Космос. Я поговорил с автором, и он сказал, что мне нужно проверить цель стручка и используемый им язык Swift.

Когда я проверял цель Cosmos, версия Swift была 4, но мой основной проект использовал Swift 4.2. Когда я изменил версию модуля «Космос» с 4 на 4.2, ошибка исчезла.

предложение от автора Космоса

Вот как вы проверяете версию Cosmos pod Swift enter image description here

Это должно соответствовать цели вашего основного проекта:

enter image description here

0 голосов
/ 23 ноября 2018

In swift4 CALayerContentsGravity не работает.

Чтобы установить contentsGravity слоя, вы должны использовать постоянную строку, которая доступна в swift4.

imageLayer.contentsGravity = kCAGravityResizeAspect

Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...