版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2017.07.20 |
前言
在app中乙嘀,都有分享的功能,我們可以直接接入各種想要分享的平臺(tái)進(jìn)行分享破喻,還有就是可以利用第三方分享平臺(tái)進(jìn)行分享虎谢,主要的第三方分享平臺(tái)有ShareSDK,還有就是百度的組件分享等曹质,這里我們就說一下蘋果
UIActivityViewController
的分享婴噩,感興趣的可以看一下我的另一篇介紹蘋果原生框架的分享。
1. 蘋果原生框架的分享
功能需求
利用蘋果的UIActivityViewController
實(shí)現(xiàn)多平臺(tái)的分享羽德。
功能實(shí)現(xiàn)
在開始實(shí)現(xiàn)之前讳推,我們先打開自己手機(jī)的系統(tǒng)相冊(cè),并且點(diǎn)擊一個(gè)照片分享玩般,如下圖所示银觅。
相片
相片分享
下面我們調(diào)起來(lái)這個(gè)分享組件,進(jìn)行原生分享坏为。
下面我們就看代碼究驴。
#import "JJShareVC.h"
@interface JJShareVC ()
@end
@implementation JJShareVC
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[self shareAction];
}
- (void)shareAction
{
// 要分享的圖片
UIImage *image = [UIImage imageNamed:@"plcaeholder"];
// 要分享的文字
NSString *str = @"開始直播";
//地址分享
NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com/cn/app/id1140440766"];
// 將要分享的元素放到一個(gè)數(shù)組中
NSArray *postItems = @[str,image, url];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:postItems applicationActivities:nil];
// 在展現(xiàn) activityVC 時(shí),必須根據(jù)當(dāng)前的設(shè)備類型匀伏,使用適當(dāng)?shù)姆椒ㄈ饔恰T趇Pad上,必須通過popover來(lái)展現(xiàn)view controller够颠。在iPhone和iPodtouch上熙侍,必須以模態(tài)的方式展現(xiàn)。
if ([[UIDevice currentDevice].model isEqualToString:@"iPad"]) {
UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVC];
[popup presentPopoverFromRect:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
else {
[self presentViewController:activityVC animated:YES completion:nil];
}
}
@end
功能驗(yàn)證
下面我們就驗(yàn)證一下效果履磨,直接上圖了啊蛉抓。
效果1
效果2
效果3
效果4
效果5
效果6
可見,可以通過系統(tǒng)的活動(dòng)控制器完成了分享剃诅。
后記
蘋果的原生分享到此就結(jié)束了巷送,希望對(duì)大家有所幫助。
鎂鋁