《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1、前言

该项目是一款高仿微信的开源项目,iOSAppTemplate代码重构,基于TLKit、 ZZFLEX实现。

2、已实现的功能

1. 消息界面

  • 消息列表(新会话加入,DB)

  • 消息侧滑删除

  • 好友搜索(支持模糊查询)

  • 更多菜单(可动态定制items)

2. 通讯录界面

  • 好友列表(分组算法、DB)

  • 好友搜索

  • 好友资料(UI抽象模板),资料设置UI(使用设置类UI模板)

  • 新的朋友(读取手机联系人信息)

  • 群聊(UI,DB)

  • 标签(UI,逻辑)

3. 发现界面(使用菜单类UI模板)

  • 好友圈(整体架构,部分UI)

  • 扫一扫(UI,二维码扫描,条形码扫描)

  • 摇一摇UI

  • 漂流瓶UI

  • 购物、游戏(封装WebView)

4. 我界面(使用菜单类UI模板)

  • 个人信息(使用设置类UI模板)
  • 表情(UI、网络请求、下载、管理)
  • 设置(抽象设置类UI通用模板)
  1. 字体大小
  2. 聊天背景
  3. 我的表情
  4. 清空聊天记录

5. 聊天界面

  • 聊天输入框
  • 消息展示视图
  1. 文字消息
  2. 图片消息
  3. 表情消息
  4. 语音消息
  • 聊天键盘
  1. 表情键盘(动态增删表情包)
  2. 更多键盘
  • 聊天记录存储(DB)

3、第三方库

  • Masonry:自动布局框架,简洁高效
  • FMDB:sqlite数据库管理框架
  • AFNetworking:网络请求
  • SDWebImage:网络图片下载、缓存
  • MJExtension:JSON - Model互转框架,高效低耦合
  • MJRefresh:下拉刷新,上拉加载更多,继承简单
  • CocoaLumberjack:日志分级、本地化
  • MWPhotoBrowser:图片选择器
  • SVProgressHUD:进度提示框

4、效果展示

首页

通讯录

聊天

朋友圈

发现

5、最后

该项目目前已经开源。作者也在对功能进行完成,后续包括视频消息、地理位置消息、好友点赞和回复,聊天模块抽离也在实现中。如果你觉得该项目不错,自己有能力的话,也可以去项目下贡献些自己的力量。

获取源代码

首先点击右下方在看,再长按下二维码关注哦,并后台回复【p029】即可获得使用示例 GitHub。

二维码

文章目录
  1. 1. 1、前言
  2. 2. 2、已实现的功能
    1. 2.1. 1. 消息界面
    2. 2.2. 2. 通讯录界面
    3. 2.3. 3. 发现界面(使用菜单类UI模板)
    4. 2.4. 4. 我界面(使用菜单类UI模板)
    5. 2.5. 5. 聊天界面
  3. 3. 3、第三方库
  4. 4. 4、效果展示
  5. 5. 5、最后
  6. 6. 获取源代码