#ios #swift #scenekit
#iOS #swift #scenekit
Вопрос:
Я должен уменьшить целевую версию с iOS 10 на 9. И одна из моих проблем заключается в том, как правильно заменить этот код :
if #available(iOS 10.0, *) {
target.light?.intensity = intensity
} else {
// Replace
}
Что похоже на интенсивность свойства из SCNLight в более старых версиях iOS?
Комментарии:
1. Почему вы хотите понизить свою целевую версию до iOS9? Процент пользователей iOS, работающих на iOS9, действительно мал, нет смысла поддерживать его больше, особенно если вы до сих пор ориентировались на iOS10. Более того,
intensity
похоже, что I является добавленным свойством вSCNLight
, я не думаю, что ранее была альтернатива этому.2. Это не мое собственное решение. Я должен. Может быть, есть похожая функция?
Ответ №1:
Я исследовал эту тему в прошлый раз. Я нашел ответ. До SDK 10 вы могли устанавливать интенсивность белого цвета
Итак:
target.light?.color = UIColor(white: intensity/1000.0, alpha: 1.0)
имеет эффект такой же, как
target.light?.intensity = intensity
Проблема решена. Возможно, кто-то в будущем воспользуется моим решением 🙂