iOS网络编程笔记——社交网络编程
社交网络编程主要使用iOS提供的social框架,目前social框架主要分为两个类:
(1)SLComposeViewController提供撰写社交信息(如微博信息)的视图控制器,由iOS系统提供UI。
(2)SLRequest封装了http请求,提供了统一的请求社交网络服务接口,能够直接与社交网络通信,没有UI需要自己编写设计。
本期先主要说一下第一种SLComposeViewController。SLComposeViewController所管理的视图可以撰写社交网络信息,发送这些信息以及取消发送,还有自己的位置信息。发送这样的社交网络信息一般会包含三种信息:初始文本,图片和超链接,因此SLComposeViewController提供了三个相对方法:
(1)-(BOOL)setInitialText:(NSString *)text;设置初始文本内容,
(2)-(BOOL)addImage:(UIImage *)image;添加图片
(3)-(BOOL)addURL:(NSURL *)url;添加超链接信息
下面介绍一个分享微博的实例:
- (IBAction)shareAction:(id)sender {
SLComposeViewController *composeViewController=[SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeSinaWeibo];//获得一个社交网络服务类型为sinaweibo的撰写视图控制器对象
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {//判断指定的社交网络是否可以使用,如果在系统中设置了社交网络账户信息,并且你的网络没有问题,会返回yes
SLComposeViewControllerCompletionHandler __block completionHandler = ^(SLComposeViewControllerResult result) {
[composeViewController dismissViewControllerAnimated:YES completion:nil];//关闭模态视图
switch(result){
case SLComposeViewControllerResultCancelled://取消情况下
default:
NSLog(@"Cancelled.....");
break;
case SLComposeViewControllerResultDone://完成情况下
NSLog(@"Posted....");
break;
}
};
[composeViewController addImage:[UIImage imageNamed:@"icon@2x.png"]];//添加图片
[composeViewController setInitialText:@"欢迎打开百度。"];//添加内容
[composeViewController addURL:[NSURL URLWithString:@"http://www.baidu.com"]];//设置超链接
[composeViewController setCompletionHandler:completionHandler];//设置视图完成回调的代码块
//模态视图呈现,如果是iPad则要Popover视图呈现
[self presentViewController:composeViewController animated:YES completion:nil];
}
}
关于代码具体说明已经注释的很详细不做过多说明了。
总结一下整个过程可以分为:
(1)创建内容编辑控制器
(2)设置分享内容(文本内容、图片、超链接等)
(3)设置发送(或取消)后的回调事件
(4)展示控制器。
效果:

iOS网络编程笔记——社交网络编程的更多相关文章
- iOS网络编程笔记——Socket编程
一.什么是Socket通信: Socket是网络上的两个程序,通过一个双向的通信连接,实现数据的交换.这个双向连路的一端称为socket.socket通常用来实现客户方和服务方的连接.socket是T ...
- 社交网络编程API之iOS系统自带分享
社交网络编程API 社交网络编程主要使用iOS提供的Social框架,目前Social框架主要包含两个类: SLComposeViewController 提供撰写社交信息(如微博信息)的视图控制器, ...
- iOS网络编程模型
iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...
- IOS网络编程——第三方类库
IOS网络编程——第三方类库 目录 概述 ASIHttpRequest AFNetworking 其他 概述 ASIHttpRequest AFNetworking 其他
- IOS网络编程:HTTP
IOS网络编程:HTTP HTTP定义了一种在服务器和客户端之间传递数据的途径. URL定义了一种唯一标示资源在网络中位置的途径. REQUESTS 和 RESPONSES: 客户端先建立一个TCP连 ...
- iOS网络高级编程:iPhone和iPad的企业应用开发(书籍学习)
作者:Jack Cox.Nathan Jones.John Szumski 译者:张龙 勘误 前言 第 I 部分 理解iOS与企业网络 这一部分从高层次概览了iOS网络以及针对移动网络架构的最佳 ...
- iOS 网络编程模式总结
IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式.stream方式.url 方式. 一 .socket 方式 IOS 提供的socket 方式的网络编程接口为C ...
- iOS 网络编程 TCP/UDP HTTP
一.HTTP协议的主要特点: 1. CS模式 2. 简单快速:只需要传送请求方法和路径.(常用方法有GET,HEAD,POST) 3. 灵活:任意对象都可以,类型由Content-Type加以标记 4 ...
- 从socket开始讲IOS网络编程
home list tags talk user rss Mac&iOS Socket 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半 ...
随机推荐
- HDU5873
Football Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- HDU5832
A water problem Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- Web压力测试小工具:webbench、http_load、Siege、ab
webbench 安装 下载地址:http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz 或者 http://soft.vpser ...
- (二)Hololens Unity 开发之 语音识别
学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发之 语音识别 Hol ...
- Oracle 11g 的安装及配置详解
一.安装前的准备: 首先在这里给出本人的百度网盘的链接:http://pan.baidu.com/s/1c1WF1PQ:网速快的小伙伴建议到官网:http://www.oracle.com/techn ...
- jQuery.sort对DOM元素进行排序
实例: 每个tr的第三列显示的都是数字,我们就以这数字列作为排序依据,方法就是利用jquery的sort()方法. 首先,利用jquery选择器获取每个tr元素,获取回来是一个数据: var $trs ...
- 浅谈 MVC中的ViewData、ViewBag和TempData
ViewBag和TempData的区别 ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3 才 ...
- 1.使用SignalR实现页面即时刷新(服务端主动推送)
模块功能说明: 实现技术:sqlserver,MVC,WebAPI,ADO.NET,SignalR(服务器主动推送) 特殊车辆管理--->移动客户端采集数据存入数据库---->只要数据库数 ...
- ubuntu12.04下安装pptp_vpn服务器
1.下载安装apt-get install pptpd 2.配置/etc/pptpd.confvim /etc/pptpd.conf添加下面两行(在配置文件的最后取消注释修改IP即可)localip ...
- Dapper的扩展这个你知道嘛?
之前写的ORM对比文章中,我选Dapper作为底层ADO的基础访问框架后,我对此再次进行进一步的深入研究,发现里面还有延伸了一些好用的扩展方法和特性,那我便简单的跟大家说一下特性标签. 一.Table ...