Skip to content

SAGESSE-CN/swift-nornir

Repository files navigation

swift-chat

Support Language License

Screen

该库目前只是纯UI库, 后面将会添加第三方的聊天服务(例如:融云,百川,腾讯云)使用示例, 再后面将会实现网络部分(swift/XMPP)

不再支持iOS 7.*

因为支持swift3.0的原因, 部分代码己经注释掉

TODO

聊天主界面

  • 支持消息气泡, NOTE: 这里还要改变
  • 支持下拉加载, NOTE: 这里还需要优化
  • 支持图文混排(CoreText) - 30%
  • 支持动态图片/表情 - 0%
  • 支持发送文本消息
  • 支持发送音频消息
  • 支持播放音频消息
  • 支持发送图片消息
  • 支持查看图片消息, NOTE: 图片旋转未实现
  • 支持删除消息功能(一个或多个)
  • 支持撤回消息功能(一个或多个)
  • 支持更新消息功能(一个或多个), 涉及到: 内容改变, 状态改变, 重新发送
  • 支持发送视频消息
  • 支持查看视频消息
  • 支持发送地址消息
  • 支持查看地址消息
  • 支持发送文件消息
  • 支持发送音乐消息
  • 支持交互式隐藏键盘, 和系统的保持 一致, 参考UIKeyboardDismissMode
  • 上传进度显示

聊天主界面-输入栏

  • 支持自定义表情
  • 支持禁言
  • 支持话题
  • 支持左侧菜单项, 设置SIMChatInputBar.leftBarButtonItems
  • 支持右侧菜单项, 设置SIMChatInputBar.rightBarButtonItems
  • 支持底部菜单项, 设置SIMChatInputBar.bottomBarButtonItems
  • 自动高度适应, 如果需要获得改变事件监听SIMChatInputBarFrameDidChangeNotification

聊天主界面-输入面板

  • 内置表情, 提供QQ表情和Emoji表情, 如需添加其他, 在配置文件emoticons.plist中按格式添加即可
  • 支持扩展内置表情, 在SIMChatInputPanelEmoticonViewDelegate``inputPanel:emoticonGroupAtIndex:返回表情组即可. NOTE:这里还要改
  • 支持自定义, 使用SIMChatInputPanel.registerClass:byIdentifier:进行注册
  • 支持对讲
  • 支持变声
  • 支持录音
  • 支持(内嵌)选择图片
  • 支持(内嵌)录制视频
  • 支持自定义工具项, 在SIMChatInputPanelToolBoxDelegate``inputPanel:itemAtIndex:返回对应的工具信息

其他功能

  • 支持多图片选择
  • 支持多图片预览
  • 优化页面进入速度 - 0%
  • 优化内存
  • 优化UITableView - 25%, 预计换成UICollectionView
  • 把autolayout自动算高换成手动, 效率问题
  • 支持音频压缩(转换)

项目

  • 重构(因为兼容swift3的原因) - 0%
  • 横屏支持 - 0%
  • 示例 - 0%

About

a swift chat ui

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published