Я знаю, что это новая функция, и это может быть невозможно, но я хотел бы иметь возможность использовать каталог активов для организации своих ресурсов, но я получаю доступ ко всем своим изображениям программно. Как мне теперь получить доступ к своим изображениям? Могу ли я получить к ним доступ по таким именам файлов:
[UIImage imageNamed:@"my-asset-name.png"];
Похоже, что в каталоге активов нет ссылки на расширение, так что было бы эффективнее получить к нему доступ без ".png"?
Причина, по которой я прошу вместо тестирования для себя, заключается в том, что даже после удаления моих активов и каталога активов, а затем очистки папки сборки я все еще могу получить доступ к своим активам в моем приложении. Это мешает мне протестировать Каталог активов, когда я его внедряю.
Просмотрев Каталог активов, я нашел «Contents.json» для каждого актива, и он был отформатирован следующим образом:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "my-asset@2x.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Я все еще не знаю, как мне получить к нему доступ, но, может быть, это поможет?
источник
UIImage
. И из того, что я видел, нет, поскольку каждое изображение категории в группе может быть совершенно другим изображением, поэтому не будет доступной общей информации, такой как нарезка. Или я что-то упускаю?UIImage(named: imageName)
Также Apple добавила новый способ получения изображения из ресурсов в Swift 3, он называется «Image Literal» и работает следующим образом:
источник
Swift
Вы можете получить ссылку на изображение в каталоге ресурсов с помощью
Вам не нужно включать расширение.
источник
@RileyE прав на 100%. Однако, исходя из моего опыта, также стоит отметить, что иногда ссылка на каталог ресурсов для изображения может содержать конечные пробелы. Вы, вероятно, не заметите, если используете раскадровки / xibs, поскольку автозаполнение добавит их. Но когда вы ссылаетесь на это из кода, не так очевидно, в чем проблема.
источник