UIActivityViewController 系统社交化 共享
1.UIActivityViewController是继承自UIViewController,是拥有VC的特性
a.初始化 init , initWithActivityItems:applicationActivities
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[@"Steve Jobs by waiter lsaacson"] applicationActivities:nil];
b.点击某个选项之后所能处理的操作 completionWithItemsHandler(Block, >8.0) completionHandler(Block, <8.0)
activity.completionWithItemsHandler = ^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError){
NSLog(@"hahahhahaha");
if (completed) {
NSLog(@"completed");
}else{
NSLog(@"cancel");
}
};
c.剔除不需要的操作项 excludedActivityTypes
//该属性 表示去掉不想显示的按钮
activity.excludedActivityTypes = @[UIActivityTypeAirDrop,UIActivityTypeMessage];
d.展示改控制器 (中间一栏的分享型服务,下面一栏的操作型服务)
[self.navigationController presentViewController:activity animated:YES completion:nil];
/*
[self.navigationController pushViewController:activity animated:YES]; 会报错
Snapshotting a view that has not been rendered results in an empty snapshot.
Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
*/
2.自定义选项 Item (UIActivity子类即可)
#import <UIKit/UIKit.h> @interface HGLActivity : UIActivity @end
#import "HGLActivity.h"
NSString *const UIActivityTypeHGLCustomMine = @"HGLCustomActivityMine";
@implementation HGLActivity // default returns nil. subclass may override to return custom activity type that is reported to completion handler
- (NSString *)activityType{
return UIActivityTypeHGLCustomMine;
} // default returns nil. subclass must override and must return non-nil value
- (NSString *)activityTitle{ //展示的问题介绍
return NSLocalizedString(@"HGL Custom", @"");
} // default returns nil. subclass must override and must return non-nil value
- (UIImage *)activityImage{ //展示的图标
UIImage *im = [UIImage imageNamed:@"xl"];
return im;
} //可以被响应
- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems{
return YES;
} - (void)prepareWithActivityItems:(NSArray *)activityItems{
NSLog(@"prepareWithActivityItems");
//点击图片之后触发
// UIActivityViewController 传递的 activityItems
} - (void)performActivity{
NSLog(@"performActivity");
// 调用prepareWithActivityItems 之后出发
} + (UIActivityCategory)activityCategory{
// return UIActivityCategoryAction; //下面一栏的操作型服务
return UIActivityCategoryShare ; //中间一栏的分享型服务
} @end
*初始化是UIActivityViewController 最后一个参数为数组
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[@"Steve Jobs by waiter lsaacson",[[NSBundle mainBundle] URLForResource:@"hgl29" withExtension:@"txt"]] applicationActivities:@[[[HGLActivity alloc]init]]];

UIActivityViewController 系统社交化 共享的更多相关文章
- 社交化分享SDK for Unity
前言 社交化分享,即分享到社交网络. 本文主要记录的是在Unity集成社交化分享SDK,现主流的分享SDK有如下: 1.友盟社交化分享 for unity 2.ShareSDK分享 for unity ...
- HtmlAgilityPack解析器在WP8.1下报错,不仅如此,社交化分享也报错。
以前WP7下是用的HtmlAgilityPack和 XPath来解析网页,很好用. 但是在Wp8.1下,这个里面却缺少了一个很重要的方法. HtmlDocument doc = new HtmlDoc ...
- 以太网客户端提示windows系统自带共享代理解决方法
以太网客户端(Dr.COM)登陆出现windows系统自带共享代理,如下图: 系统win+R调出运行: 在服务中,找到Internet Connection Sharing (ICS): 右键属性,将 ...
- iOS开发- 三步快速集成社交化分享工具ShareSDK
1.前言 作为现在App里必不可少的用户分享需要,社交化分享显然是我们开发app里较为常用的. 最近因为公司App有社交化分享的需要,就特此研究了会,拿出来与大家分享. 想要集成社交会分享,我们可以使 ...
- iOS- 三步快速集成社交化分享工具ShareSDK
http://www.cnblogs.com/qingche/p/3727559.html 1.前言 作为现在App里必不可少的用户分享需要,社交化分享显然是我们开发app里较为常用的. 最近因为公司 ...
- WeCenter 社交化问答社区程序 | WeCenter 是一款知识型的社交化问答社区程序,专注于社区内容的整理、归类、检索和再发行
WeCenter 社交化问答社区程序 | WeCenter 是一款知识型的社交化问答社区程序,专注于社区内容的整理.归类.检索和再发行 为什么选择 WeCenter 程序? 让您的社区更智能地运作,强 ...
- Apache shiro集群实现 (七)分布式集群系统下---cache共享
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- 浅谈iOS与社交化网络
CHENYILONG Blog 社交化网络 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- 纯净版xp系统在局域网共享需要密码如何解决
纯净版xp系统在局域网共享需要密码怎么办?这是近来不少朋友都向小编反馈的问题.他们表示每次共享者更改密码后其他人都需要再重新输入密码,感觉十分的麻烦.下面是系统城小编给大家整理的一些有关XP系统局域网 ...
随机推荐
- Unable to open the physical file xxxx. Operating system error 2
在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上.由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面. ALTER DATABASE ...
- 安装mysql后的基本配置
1.添加环境变量 右键 此电脑->属性->高级系统设置->环境变量,在系统变量里面找到Path,双击.点击编辑,将mysql中bin文件的路径添加到最后一行,如:F:\AppSev\ ...
- beautifulSoup(1)
import re from bs4 import BeautifulSoupdoc = ['<html><head><title>Page title</t ...
- 使用开发者工具调试jsp页面中的脚本
只举例火狐和谷歌.如果是火狐,一般是用firebug,首先确保开启脚本调试: 然后刷新一下要调试的页面,点击firebug中的行内,选择当前页面: js文件一般直接显示的是js文件的名字,而页面一般是 ...
- Spring中常用类型的bean配置(Map,List,Set,基本类型)
给自己做个笔记... 有时会用到配置文件中配置一下映射关系,方便以后扩展.此时可采用集合类型的bean配置方式配置.程序中直接注入即可. map类型的: <!-- 旧版方式,无需util包 -- ...
- BI cube的前世今生:商业智能BI为什么需要cube技术
企业中常常会出现这样一幕幕尴尬的场景: 企业的决策人员需要从不同的角度来审视业务,协助他们分析业务,例如分析销售数据,可能会综合时间周期.产品类别.地理分布.客户群类等多种因素来考量.IT人员在每一个 ...
- 【Python网络编程】利用Python进行TCP、UDP套接字编程
之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接 ...
- Mybatis(综合案例)
MyBatis本是apache的一个开源项目iBatis,2010年这个项目有Apache software foundation 迁移到了Google code,并改名MyBatis.2013年11 ...
- AC日记——挤牛奶 洛谷 P1204
题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...
- POJO和VO的区别
网上说 POJO对应DAO层中的数据库,POJO重的成员变量对于表中的每个字段. VO 为POJO的分装,与视图层交互.