自14毕业到现在,从事iOS即时通讯开发已经1年半之久。在这里总结一下自己平时开发即时通讯类App常用的控件,以供大家参考。主要负责Allure开发,目前已上架,可以在苹果商店搜素Allure。Allure模仿微信的交互和设计效果,已经实现微信的大部分功能。

1.聊天列表:

SWTableViewCell: https://github.com/CEWendel/SWTableViewCell.git

备注:SWTableViewCell正常情况下隐藏右侧按钮的,向左滑动显示cell右侧的按钮(类似于iOS 7邮件应用程序)。微信应用:聊天列表向左滑动,显示标记未读,删除消息按钮。

2.文字消息:

M80AttributedLabel: [https://github.com/xiangwangfeng/M80AttributedLabel.git](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

备注:聊天输入文字,可以根据输入文字的多少自动改变输入框的高度。

6.微信右上角的➕点击展示列表效果

DXPopover:https://github.com/xiekw2010/DXPopover.git

备注:感觉微信的效果点击➕号,展示列表,使用的就是frame的缩小动画。笔者推荐的效果一定比微信的效果要好。

7.UUID、手势密码的存储:

SSKeychain:https://github.com/soffes/sskeychain.git

备注:使用keychain存储关键数据,eg:UUID、手势密码等。当刷机、升级系统或者卸载应用时,UUID或手势密码依旧还保存。苹果推荐使用KeychainItemWrapper,但实际开发中并不是很好。笔者建议使用SSKeychain,方便易用。

8.广告自动轮播:

HYBLoopScrollView:https://github.com/CoderJackyHuang/HYBLoopScrollView.git

备注:实现自动循环滚动,一般用于展示广告页。微信在贴纸宣传处就使用了轮播。

9.数据库:

FMDB:https://github.com/ccgus/fmdb.git

备注:FMDB如此强大,啥也不说了。

10.图片浏览器:

MWPhotoBrowser:https://github.com/mwaterfall/MWPhotoBrowser.git

备注:图片浏览器,微信朋友圈点击小图,查看大图的效果。

11.Tinder、探探等翻牌子

MDCSwipeToChooseView:https://github.com/modocache/MDCSwipeToChoose.git

备注:Tinder、探探等翻牌子效果

12.刷新

MJRefresh:https://github.com/CoderMJLee/MJRefresh.git

备注:MJRefresh有李明杰大神的开源之作,其他的自不用说。不过笔者根据基于MJRefresh重新定制了一个可以修改颜色的loading菊花(https://github.com/jiulin/MJRefresh.git)

13.AFNetworking: https://github.com/AFNetworking/AFNetworking.git

等等。。。。

如在即时通讯方面需要帮助,联系QQ:983202699

或者关注微博私信:http://weibo.com/490jiulin/home?wvr=5

剖析微信等即时通讯常用组件(一)相关推荐

  1. Netty入门与实战:仿写微信IM即时通讯系统

    转载自:Netty入门与实战:仿写微信IM即时通讯系统 Netty是互联网中间件领域使用最广泛最核心的网络通信框架,几乎所有互联网中间件或者大数据领域均离不开Netty,掌握Netty是作为初中级工程 ...

  2. 微信小程序的常用组件

    目录 一.常用的视图容器类组件 ① view ② scroll-view ③ swiper 和 swiper-item 二.常用的基础内容组件 ① text ② rich-text 三.其它常用组件 ...

  3. 微信小程序 之 常用组件 及其属性

    目 录 基础组件: text icon progress 容器组件: view 和scroll-view swiper和swiper-item 表单组件: form input textarea ra ...

  4. JAVA Spring Shiro mybaits 后台管理 二次开发框架 OA ERP CMS 微信 IM即时通讯(websocket)

    系统架构图 目标: 1:提升开发效率,规范开发标准 2:提高质量,降低复杂度 3:打造一个开发简单.效率快..性能好.. 易上手的框架 兼容性: 1:设备:兼容IPAD,手机,电脑,笔记本等等 2:界 ...

  5. uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天

    项目介绍 基于uni-app+vue+vuex+uniPop+swiper等技术开发仿微信App聊天室实战项目,实现了发送消息.表情(gif动图),图片预览.地图位置.红包.仿微信朋友圈等功能. 项目 ...

  6. python wxpy模块_wxpy微信模块学习之常用组件

    聊天机器人 图灵 classwxpy.Tuling(api_key=None) 与 wxpy 深度整合的图灵机器人,内置的 api key 存在调用限制,建议自行申请. 参数: api_key -- ...

  7. JAVA开发Android聊天APP,实现了类似QQ、微信的即时通讯功能

    视频学习地址 本内容接上篇文章 我的源码: 码云 github 大加有需要可以下载来参照一下. 文章目录 简介: 问题.报错 与视频中有差别的地方 视频的第十九节 视频的第38节,关于长按删除联系人, ...

  8. 仿微信IM即时通讯v2.0.64

    新增PC端插件兼容 新增机器人私聊群聊接管功能(针对ChatGPT) 修复已知BUG并优化若干细节

  9. 微信小程序入门之常用组件(04)

    常见组件 重点讲解微信小程序中常见的布局组件 view,text,rich-text,button,image,navigator,icon,swiper, radio,checkbox 等 一.vi ...

最新文章

  1. wpf 绑定数据无法更新ui控件可能存在的问题
  2. Python 14.1 TCP/IP协议简介
  3. SpringBoot自动配置的原理及实现
  4. 伯克利团队正在训练AI成为外科实习医生
  5. python搭建博客系统_用Pelican快速搭建极简静态博客系统
  6. python这么多包、怎么记住_学Python的人这么多 有哪些技巧可言
  7. java里注释为什么报错_这些年我们在java中遇到过的坑,你遇到过几个
  8. 如何静态添加toolbar到datagrid
  9. crontab 运行pyhon脚本
  10. python学习基础知识_python学习基本知识
  11. microwindows位图解析
  12. Hbase 实现微博好友关注功能
  13. Feign 超时设置
  14. SAP License:如何用Coding Block
  15. 2018ICPC焦作D(几何)---Keiichi Tsuchiya the Drift King
  16. u盘装服务器系统还原c盘失败,云骑士一键重装系统win10还原c盘失败怎么办
  17. mysql with,mysql+with
  18. Tensorflow2对GPU内存的分配策略
  19. 解读德国政府未来可能采用的加密即时通讯框架
  20. html5制作心路历程,原创到伪原创 心路历程实战技巧

热门文章

  1. 2018年春计算机教学计划,2018年春季教学计划表
  2. Oracle 设置密码复杂度
  3. 智能合约部署Error: exceeds block gas limit undefined
  4. 报错ValueError: operands could not be broadcast together with shapes (448,448) with (224,224)
  5. Rikka with Travels
  6. 再添新彩!忆享科技成为腾讯蓝鲸智云官方服务商
  7. mysql 的数据库引擎
  8. 如何用python创建最简单的服务器
  9. 打击恶意劫持_百度移动搜索烽火算法 2.0
  10. 通过左旋和右旋来实现搜索二叉树的自平衡