Почему я не могу преобразовать данные `svg` в UIImage, используя`SVGKit` в Swift 4?
Я пытаюсь преобразовать мой svg
данные изображения для UIImage
пример использования SVGKit
, но когда я пытаюсь сделать это, его сбой, и сообщение об ошибке, как показано ниже:
Завершение работы приложения из-за неперехваченного исключения "NSInternalInconsistencyException", причина: "Запрошено преобразовать значение Percentage в другой тип (5)"
Вот код для svg
в UIImage
преобразование.
if let data = response.data {
if let image = SVGKImage(data: data) {
if let uiImageInstance = image.uiImage {
self.userImageView.image = uiImageInstance
}
}
}
Это сбой на этой линии
-> if let uiImageInstance = image.uiImage {
я использую AlamofireImage
библиотека для загрузки данных моего изображения с сервера.
Я проверил, что мой svg
данные есть в ответе.
К вашему сведению: мое изображение представляет собой сочетание букв аватара и градиентного фона.
Смотрите ниже изображение для справки.
URL-адрес моего изображения svg: ссылка
Любая помощь?
Заранее спасибо.
2 ответа
Если ваше изображение использует эффект градиента, то оно не будет работать в SVGKit. Проверьте, использует ли ваше изображение какой-либо эффект градиента.
Рендеринг Apple НЕ ПОЗВОЛЯЕТ США правильно отображать это изображение с помощью SVGKFastImageView, поскольку метод renderInContext от Apple, согласно документам Apple, игнорирует собственные маскирующие слои Apple. Пока Apple не исправит эту ошибку, вы должны использовать SVGKLayeredImageView для этого конкретного файла SVG (или избегать использования градиентов)
Пожалуйста, сделайте следующее:
- Прежде всего, проверьте response.data(это правильный формат, который вы ожидаете?)
- Попробуйте использовать image.UIImage вместо image.uiImage