简友广场想法

iOS 类似微信聊天消息的tableView数据展示

2023-08-08  本文已影响0人  海边的遐想

总体构思:
1,展示cell类型聊天气泡
2,聊天消息的展示,按照时间倒序,并滑动到最新的一条
3,如果有滑动左边展示n条未读消息,如果不是在最底部,上拉获取下一页数据类似微信展示最上面一条的底部。
4,如果滑动到底部,有新消息则下面自动展示最新的
具体实现:
1,展示cell类型聊天气泡
cell的布局就不再缀叙,只描述左边和右边气泡:给layer添加切角
UIBezierPath* rounded = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, SCREEN_WIDTH - 602, 92+model.cellHeight+self.itemBgViewHeight.constant) byRoundingCorners:(UIRectCornerBottomLeft|UIRectCornerTopRight|UIRectCornerBottomRight) cornerRadii:CGSizeMake(12, 12)];
CAShapeLayer
shape = [[CAShapeLayer alloc] init];
shape.lineWidth = 1;
shape.fillColor = model.unlock == 1?UIColorFromRGB(0xEFF2FF).CGColor:UIColorFromRGB(0xEEF1F8).CGColor;
shape.strokeColor = model.unlock == 1?UIColorFromRGB(0x3D64FF).CGColor:UIColorFromRGB(0xEEF1F8).CGColor;
[shape setPath:rounded.CGPath];
[self.chatBGView.layer insertSublayer:shape atIndex:0];
2,聊天消息的展示,按照时间倒序,并滑动到最新的一条:
1)按照时间倒序,接口已经倒序,或者我们可以自己添加排序:

pragma mark -时间排序

上一篇 下一篇

猜你喜欢

热点阅读