Примечания к выпуску Xcode 10: «Завершение кода для литералов изображений Swift было удалено в Xcode 10»
Так что это не ошибка, что я не мог добавлять изображения в код (и запускать старые проекты). Как же нам теперь добавлять изображения в код, ведь простой набор текста UIImageView(image:
не принимает файлы png или jpeg.
let cellImage: UIImageView = {
let image = UIImageView(image: ???))
return image
}()
Система: macOS Mojave
Xcode: Xcode 10 Beta 4
UIImage(named: "myImage")
как в старые времена (?)Ответы:
В Xcode 10 и Swift 4.2 только функция завершения кода (или автозаполнение) Xcode IDE была прекращена по старому пути. Вот новый способ:
Просто введите,
image literal
и он будет завершен со значком по умолчанию.Дважды щелкните этот значок, и справа от него откроется медиа-библиотека.
Просто выберите свой имидж, и он будет работать как раньше!
источник
⇧
+⌘
+L
или кнопку + в правом верхнем углу Xcode.Нашел ярлык для открытия вкладки медиабиблиотеки:
⇧+ ⌘+M
На данный момент официальная документация не охватывает некоторые варианты использования бета-версии Xcode 10, поэтому я не могу найти способ переместить мультимедийную часть в старую позицию.
источник
Вы можете использовать медиа-библиотеку в Xcode, чтобы добавить в код литерал изображения:
А затем выберите изображение из библиотеки и перетащите его в свой код.
Это создаст буквальное изображение
источник
@1x
,@2x
и@3x
актива и, таким образом, не компилируетсяВ интересах других, использующих унаследованный код, использующий литералы изображений Swift, код и синтаксис самой функции литерала изображения по-прежнему действительны и отлично работают в Xcode 10 с Swift 4.2.
Нет необходимости откатывать или реорганизовывать существующий код, который использует эти литералы изображений, и их по-прежнему можно использовать следующим образом:
imageView.image = #imageLiteral(resourceName: imageNameString)
Только функция завершения кода (или автозаполнение) Xcode IDE была прекращена.
ОБНОВИТЬ
Разница в представлении изображения-литерала в предыдущих и текущих версиях или Xcode / Swift:
image = #imageLiteral(resourceName: "flower.jpg")
Как видно из отрывка, литералы изображений были представлены в соответствии с эскизами их фактического изображения. Однако теперь вместо него используется только общий значок. Предположительно, это снижает нагрузку на IDE за счет устранения накладных расходов на обработку и отображение встроенных эскизов.
источник
СОВЕТ: Чтобы исправить три разрешения после добавления буквального изображения в код.
1. Удалите другое, оставьте только одно изображение.
2. Прокомментируйте код строки буквальным изображением, тогда в коде появится буквальное изображение, например:
#imageLiteral(resourceName: "image@2x.png"
3. По
resourceName
значению, удалите@2x
и расширение файла, например.png
, оставьте только имя изображения:#imageLiteral(resourceName: "image")
4. Раскомментируйте! Изображение будет показано в коде.
источник
raging dumpster fire
;)).image name
(но по-прежнему сохраняет его как литерал изображения) вместо того, чтобы выбирать из средства выбора.В Xcode 11 медиа-библиотека теперь находится в меню «Просмотр»> «Показать библиотеку» (SHIFT + CMD + L).
источник
Если кто-то использует Xcode 11, вы можете найти все медиа, используя следующую опцию:
источник
источник
Я использую Xcode 10 beta 4, и у меня такая же проблема! Устранено старым способом передачи изображения
PizzaModel( nome: "Marinara", ingredienti: "Pomodoro, Aglio", calorie: "729", img: UIImage(named: "marinara")! )
источник