问题描述
我正在处理不同文件(视频、照片、链接)的项目,因此我们将使用 LPLinkView 直接从 url 中呈现它,如下图
那么请问是否有办法隐藏包含元数据(标题、文本、网址)的页脚视图并只保留预览?
如果不能,你不能向我推荐任何可以做我们想要的图书馆吗?
从你身边看这里
谢谢
解决方法
您无法管理 LPLinkView 的任何内部属性,但您可以改用 LPLinkMetadata
并从其 imageProvider
中提取图像。
因此,您可以创建自己的函数来从 imageProvider 获取图像
import LinkPresentation
import UIKit
func getImageFromMetadata(url: URL,completion: @escaping (UIImage)-> Void) {
LPMetadataProvider().startFetchingMetadata(for: url) { (linkMetadata,error) in
guard let linkMetadata = linkMetadata,let imageProvider = linkMetadata.imageProvider else { return }
imageProvider.loadObject(ofClass: UIImage.self) { (image,error) in
guard error == nil else {
print("provider error")
return
}
if let image = image as? UIImage {
// now you can do whatever you want with the image.
// for we now are going to send it to the completion handler
DispatchQueue.main.async {
completion(image)
}
} else {
print("image not found")
}
}
}
}
现在您可以使用该函数将图像加载到您的 UIImageView
guard let url = URL(string: "https://www.youtube.com/watch?v=-YyeaaDOWho") else { return }
getImageFromMetadata(url: url) { image in
imageView.image = image
}