LPLinkView 是官方iOS13開(kāi)始提供的一種鏈接預(yù)覽的超級(jí)方便的view實(shí)現(xiàn)想邦。
LPLinkView presents a link based on its available metadata. Use it to show a link’s title and icon, associated images, inline audio, video playback, and maps in a familiar and consistent style.
意思大概是 LPLinkView根據(jù)其可用的元數(shù)據(jù)顯示一個(gè)鏈接裤纹。使用它可以以熟悉且一致的樣式顯示鏈接的標(biāo)題和圖標(biāo),關(guān)聯(lián)的圖像,嵌入式音頻鹰椒,視頻播放和地圖畏纲。
其簡(jiǎn)單的使用方法如下:
#import "ViewController.h"
#import <LinkPresentation/LPMetadataProvider.h>
#import <LinkPresentation/LPLinkView.h>
@interface ViewController ()
@property (nonatomic ,strong) LPLinkMetadata *linkMetadata;
@property (nonatomic ,strong) LPLinkView *linkView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
LPMetadataProvider *pv = [LPMetadataProvider new];
NSString *url = @"https://www.baidu.com";
__weak typeof(self) weakSelf = self;
[pv startFetchingMetadataForURL:[NSURL URLWithString:url] completionHandler:^(LPLinkMetadata * _Nullable metadata, NSError * _Nullable error) {
if (!error) {
weakSelf.linkMetadata = metadata;
}
}];
}
- (void)setLinkMetadata:(LPLinkMetadata *)linkMetadata {
_linkMetadata = linkMetadata;
dispatch_async(dispatch_get_main_queue(), ^{
self.linkView = [[LPLinkView alloc] initWithMetadata:linkMetadata];
self.linkView.frame = CGRectMake(10, 80, 300, 600);
[self.view addSubview:self.linkView];
[self.linkView sizeToFit];
});
}
運(yùn)行結(jié)果如圖
0zm57120008ajnx04B4EF.png