博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS8新特性扩展(Extension)应用之二——分享插件
阅读量:5891 次
发布时间:2019-06-19

本文共 2044 字,大约阅读时间需要 6 分钟。

iOS8新特性扩展(Extension)应用之二——分享插件

        在上一篇博客中,介绍了iOS8新特性扩展功能之一的Today功能:,这里我们再介绍一下分享的扩展功能。

      在iOS8之前,除了一些主流的社交平台,例如苹果支持内容分享外,其他开发者的应用若要加入分享的功能,将会十分的复杂。在iOS8的新特性中,apple为我们准备了这样的扩展功能。

首先创建工程,在我们的工程中新建一个Target:

之后,模板中会为我们创建一个controller类,这个controller用于控制我们的分享插件,里面内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@implementation ShareViewController
//这个函数用于判断分享内容的可用性,我们在其中获取分享的内容进行检查
- (
BOOL
)isContentValid {
    
// Do validation of contentText and/or NSExtensionContext attachments here
    
return 
YES;
}
//点击post按钮后出发的方法,我们可以在这里将分享的内容进行上传等操作
- (
void
)didSelectPost {
    
// This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments.
     
    
// Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context.
    
[self.extensionContext completeRequestReturningItems:@[] completionHandler:nil];
}
//这里用于设置分享插件的附件按钮
- (NSArray *)configurationItems {
    
// To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here.
    
return 
@[];
}
 
@end

除此之外,还有一些常用的属性:

- (void)presentationAnimationDidFinish;

弹出视图动画结束后执行的方法

@property (readonly, NS_NONATOMIC_IOSONLY) NSString *contentText;

分享的内容文字

@property (copy, NS_NONATOMIC_IOSONLY) NSString *placeholder;

默认显示的提示文字

- (void)didSelectCancel;

取消按钮执行的方法

我们在代码中如下添加后运行:

1
2
3
4
5
6
7
8
9
10
11
@implementation ShareViewController
-(NSString *)placeholder{
    
return 
@
"提示文字"
;
}
- (NSArray *)configurationItems {
    
// To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here.
    
SLComposeSheetConfigurationItem * item =[[SLComposeSheetConfigurationItem alloc]init];
    
item.title=@
"地点"
;
    
item.value=@
"城门"
;
    
return 
@[item];
}

我们用系统的相册做测试,点击相片的分享按钮:

点击MORE,添加我们的扩展插件。

这时分享栏中多了一个我们的插件,点击效果如下:

还有一点我们需要了解,在这个扩展的plist文件中,有这样一个键:NSExtensionAttributes,里面有一个NSExtensionActivationRule的字典,其中可以设置一些键值,对分享插件的属性进行控制。

这些键的写法在官方文档中的介绍如下:

这些键的意义,文档中介绍的很清楚,我们可以根据需要进行设置。

转载地址:http://xabsx.baihongyu.com/

你可能感兴趣的文章
[布局] bootstrap基本标签总结
查看>>
异步编程思想
查看>>
"数学口袋精灵"bug(团队)
查看>>
2017python第六天作业 面向对象 本节作业: 选课系统
查看>>
vue实现单页应用demo
查看>>
【找规律】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B. Code For 1...
查看>>
【最短路】【spfa】CDOJ1633 去年春恨却来时,落花人独立,微雨燕双飞
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
HDU 1065 - I Think I Need a Houseboat
查看>>
为什么要使用 SPL中的 SplQueue实现队列
查看>>
文件的相关操作(创建、打开、写入、读出、重命名)
查看>>
Redis与memecache的区别
查看>>
jQuery分步步骤
查看>>
品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制
查看>>
PHP const关键字
查看>>
设计模式之代理模式之二(Proxy)
查看>>
链接&装载&库-入口函数和程序初始化
查看>>
windows环境下安卓开发环境的快速搭建
查看>>
ssh 安装笔记
查看>>
css的再深入6(更新中···)
查看>>