首页 > 解决方案 > LPLinkView 隐藏信息视图

问题描述

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

在此处输入图像描述

那么,如果有任何方法可以隐藏包含元数据(标题、文本、url)的页脚视图并只保留预览?

如果不是,你不能建议我做我们想要的任何图书馆吗?

从你的身边望向这里

谢谢

标签: iosswiftxcodepreview

解决方案


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

推荐阅读