图像视图如何在SWiftUI中按URL显示照片?
我的iPhone中有一张名为“ 0.jpg”的照片,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]在/ var / mobile / Containers / Data / Application / E03608D6-24A5-4797-8C16-DDAEB03AB623 / Documents / Photos
的资产目录中找不到名为“ 0.jpg”的图像>我确定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的情况下如何显示图像?
非常感谢您!
答案 0 :(得分:1)
请参阅记录的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:)
-只需使用它即可。