iOS开发--即时通讯常用第三方库
前言
自毕业到现在,从事iOS即时通讯开发已经1年半之久。主要负责Allure开发,目前已上架,可以在苹果商店搜素Allure。Allure模仿微信的交互和设计效果,已经实现微信的大部分功能。
在这里总结一下自己平时开发即时通讯类App常用的控件,以供大家参考。
本文出自我的大学同学之手,发布到此,希望对大家有用!
- 原作者QQ:983202699
- 原作者微博:http://weibo.com/490jiulin/home?wvr=5
1、聊天列表
SWTableViewCell: https://github.com/CEWendel/SWTableViewCell.git
正常情况下隐藏右侧按钮的,向左滑动显示cell右侧的按钮(类似于iOS 7邮件应用程序)。微信应用:聊天列表向左滑动,显示标记未读,删除消息按钮。
2、文字消息
M80AttributedLabel: https://github.com/xiangwangfeng/M80AttributedLabel.git
文字内容的消息可以使用M80AttributedLabel,实现文字与表情的混排。一般使用气泡作为背景。
3、语音
VoiceConvert: http://code4app.com/ios/边录音边转码/521c65d56803fab864000001
iPhone设备录音为WAV格式,WAV格式文件太大,不便于传输。使用VoiceConvert可以将WAV转化为amr格式文件进行传输,文件大小被压缩到之前文件的10倍左右。当接受方接受消息后需将amr文件转化为WAV文件,进行播放。注:笔者实现语音功能时,使用的是VoiceConvert,而微信不是。
4、聊天文字输入框
HPGrowingTextView:https://github.com/yatinsns/HPGrowingTextView.git
聊天输入文字,可以根据输入文字的多少自动改变输入框的高度。
5、微信右上角的+点击展示列表效果
DXPopover:https://github.com/xiekw2010/DXPopover.git
感觉微信的效果点击+号,展示列表,使用的就是frame的缩小动画。笔者推荐的效果一定比微信的效果要好。
6、UUID、手势密码的存储
SSKeychain:https://github.com/soffes/sskeychain.git
:使用keychain存储关键数据,eg:UUID、手势密码等。当刷机、升级系统或者卸载应用时,UUID或手势密码依旧还保存。苹果推荐使用KeychainItemWrapper,但实际开发中并不是很好。笔者建议使用SSKeychain,方便易用。
7、广告自动轮播
HYBLoopScrollView:https://github.com/CoderJackyHuang/HYBLoopScrollView.git
实现自动循环滚动,一般用于展示广告页。微信在贴纸宣传处就使用了轮播。
8、数据库
FMDB:https://github.com/ccgus/fmdb.git
FMDB如此强大,啥也不说了。
9、图片浏览器
MWPhotoBrowser:https://github.com/mwaterfall/MWPhotoBrowser.git
图片浏览器,微信朋友圈点击小图,查看大图的效果。
10、Tinder、探探等翻牌子
MDCSwipeToChooseView:https://github.com/modocache/MDCSwipeToChoose.git
Tinder、探探等翻牌子效果
11、刷新
MJRefresh:https://github.com/CoderMJLee/MJRefresh.git
MJRefresh有李明杰大神的开源之作,其他的自不用说。不过笔者根据基于MJRefresh重新定制了一个可以修改颜色的loading菊花(https://github.com/jiulin/MJRefresh.git)
13、网络
AFNetworking: https://github.com/AFNetworking/AFNetworking.git
iOS开发--即时通讯常用第三方库的更多相关文章
- iOS开发中用到的第三方库概览
前言:记录一下使用过和接触过的第三方库,重要程度与顺序无关 网络请求: AFNetworking:AFNetworking is a delightful networking library for ...
- iOS开发--即时通讯
什么是环信? 1.环信是一个第三平台,提供即时通信(IM–Instant Messaging )的服务 2.环信是在XMPP的基础上进行二次开发 3.环信在网络上传输的数据也是XML 4.使用环信,不 ...
- IOS开发中有用的第三方库
#Objective-C中最受瞩目库 [链接](https://github.com/languages/Objective-C/most_watched) * [three20](https:/ ...
- IOS学习:常用第三方库(GDataXMLNode:xml解析库)
IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...
- ios 常用第三方库要加的framework,ARC的设置
一,常用第三方库要加的framework 1,SQLite3数据库:FMDatabase 需要添加:libsqlite3.dylib 2,网络请求:ASIHTTPRequest 需要添加:CFNetw ...
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
- iOS - IM 即时通讯
1.即时通讯技术 即时通讯(IM:Instant Messaging):又称实时通讯,支持用户在线实时交谈,允许两人或多人使用网络实时的传递文字消息.文件.语音与视频交流. 即时通讯在开发中使用的场景 ...
- iOS之即时通讯相关理解
Socket: 1>Socket又称"套接字" 2>网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 3>应用程序通常通 ...
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
随机推荐
- 【转载】matlab中freqz函数的使用
freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为 % jw -j ...
- [shell基础]——if/for/while/until/case 语句
for语句 do echo $loop done ` do echo $loop done for loop in `ls /tmp` do echo $loop done while语句 while ...
- UITableView基本使用和cell的属性
在ios的UI中UITableView是个常用且强大的控件 基本使用: 1>设置代理,一般把控制器设为代理:self.tableView.delegate = self; 2>遵守代理的协 ...
- C#制作高仿360安全卫士窗体<一>
开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...
- C#预编译指令
近日工作涉及到于外部系统交互,对方提供接口:但是在双方系统未联调时,引用外部DLL,相关类实例化,提示异常错误(错误消息正常):后面操作无法进行,那如何写调试代码,即在调试时不运行某段代码,而在正式发 ...
- android手机配置hosts文件
Android设备测试服务器时,可能需要修改 hosts 文件指定域名到对应的 IP 地址.Android 是基于 Linux 的系统,与 Linux 类似,通过 hosts 文件来设置. 在 And ...
- Google Guava学习笔记——基础工具类针对Object类的使用
Guava 提供了一系列针对Object操作的方法. 1. toString方法 为了方便调试重写toString()方法是很有必要的,但写起来比较无聊,不管如何,Objects类提供了toStrin ...
- 【ContestHunter】【弱省胡策】【Round3】(C)
容斥原理+Fib Orz HE的神犇们 蒟蒻只能改出来第三题……实在太弱 官方题解:http://pan.baidu.com/s/1o6MdtQq fib的神奇性质……还有解密a[i]的过程……这里就 ...
- Poj 1032 分类: Translation Mode 2014-04-04 09:09 111人阅读 评论(0) 收藏
Parliament Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16521 Accepted: 6975 Descr ...
- 【bzoj1012】[JSOI2008]最大数maxnumber
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8339 Solved: 3624[Submi ...