LPLinkView 隐藏信息视图

问题描述

我正在处理不同文件(视频、照片、链接)的项目,因此我们将使用 LPLinkView 直接从 url 中呈现它,如下图

enter image description here

那么请问是否有办法隐藏包含元数据(标题、文本、网址)的页脚视图并只保留预览?

如果不能,你不能向我推荐任何可以做我们想要的图书馆吗?

从你身边看这里

谢谢

解决方法

您无法管理 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
}