即时通讯常用第三方库
来自: http://www.henishuo.com/im-common-control/
前言
自毕业到现在,从事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、微信右上角的:heavy_plus_sign:点击展示列表效果
DXPopover: https://github.com/xiekw2010/DXPopover.git
感觉微信的效果点击:heavy_plus_sign:号,展示列表,使用的就是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
关注我
关注 | 账号 | 备注 |
---|---|---|
Swift/ObjC技术群一 | 324400294 | 群一若已满,请申请群二 |
Swift/ObjC技术群二 | 494669518 | 群二若已满,请申请群三 |
Swift/ObjC技术群三 | 461252383 | 群三若已满,会有提示信息 |
关注微信公众号 | iOSDevShares | 关注微信公众号,会定期地推送好文章 |
关注新浪微博账号 | 标哥Jacky | 关注微博,每次发布文章都会分享到新浪微博 |
关注标哥的GitHub | CoderJackyHuang | 这里有很多的Demo和开源组件 |
关于我 | 进一步了解标哥 | 如果觉得文章对您很有帮助,可捐助我! |