大致思路
- 消息类型中新增 撤回类型 kMXMessageTypeWithdraw,新增撤回消息的聊天展示Cell。
- 选中的撤回消息,记录当前的MessageID,把当前的消息封装成撤回类型(只修改当前消息的消息类型,并不是重新创建新的MessageID),发送服务器。
- 收到服务器回执,根据记录的MessageID比对是否是当前操作的撤回消息,查找当前聊天窗口里的聊天信息,修改本地数据库,并刷新当前UI。
难点
当你撤回的时候,并不是实时的,要等服务器回执才能做下一步。发起撤回的时候需要记录当前MessageID 中间过渡可以加入菊花动画。
网友评论