Как в режиме просмотра изображений отобразить фотографию по URL в SWiftUI? - PullRequest
1 голос
/ 01 апреля 2020

Как в режиме просмотра изображений может отображаться фотография по URL в SWiftUI?

У меня есть фотография с именем «0.jpg» в моем iPhone, а URL-адрес «/ var / mobile / Containers / Data / Application / EB3DA19A-F7B2-48DD-8681-139C7FCB9090 / Documents / Photos ".

А мой исходный код выглядит следующим образом:

var imageSection: some View {
    Image(landmark.photoName,bundle: Bundle(url:FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("Photos")))
}

При запуске выдается ошибка: [SwiftUI] Не найдено изображение с именем 0.jpg в каталоге активов для / var / mobile / Containers / Data / Application / E03608D6-24A5-4797-8C16-DDAEB03AB623 / Documents / Photos

И я уверен, что файл jpg существует, потому что я использую UIImage в качестве параметра, и он будет отображаться хорошо:

var imageSection: some View {
    Image(uiImage: UIImage(named: "/var/mobile/Containers/Data/Application/EB3DA19A-F7B2-48DD-8681-139C7FCB9090/Documents/Photos/0.jpg"))
}

Как я могу отобразить изображение на изображении без UIImage?

Большое спасибо!

1 Ответ

1 голос
/ 01 апреля 2020

См. Документированный Image конструктор

/// Creates a labeled image usable as content for controls.
///
/// - Parameters:
///     - name: the name of the image resource to lookup, as well as
///       the localization key with which to label the image.
///     - bundle: the bundle to search for the image resource and
///       localization content. If `nil`, uses the main `Bundle`.
///       Defaults to `nil`.
public init(_ name: String, bundle: Bundle? = nil)

Это "имя: имя ресурса изображения для поиска" - не имя файла, а ресурс изображения имя , и все ресурсы изображений теперь находятся в каталогах ресурсов.

Для внешних изображений есть Image(uiImage:), который вы уже нашли - просто используйте его.

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