iOS 短视频开发 _仿抖音评论——折叠式评论
2019-12-10 本文已影响0人
爱哭的僵小鱼
-
最近在做短视频开发,大致功能 更抖音类似,运用的是腾讯的TXLiteAVSDK_UGC ,再此期间 运用了很多动画交互,后续会把此次接触跟一些困难表达下来
-
以一级评论为主,展示所有二级评论,优点是一级评论及对应的二级评论可以形成清晰地对应关系,上下文联系紧密;缺点为评论展示的位置受限,假设如果二级留言内容较多,用户发表的评论需要多次点击才能展现出来。同时二级评论的点赞限制较多,如下图从百度知道评论区可以看出二级评论难以给出点赞区域。针对折叠式,一般优先露出n条二级评论,其他评论可在当前页面中无限展开或需要跳转到新的页面查看全部,如微博、百度贴吧等。如果二级评论和一级评论之间联系紧密,比如问答类产品建议采用该种方式,如果二级评论数量较多建议采用跳转到新的页面查看全部二级评论的交互方式。
运用到思路
5F5F0056-DA6A-4FC5-84AB-4727B45A62C3.png- 1 是 comments 弹窗 添加到顶部一个视图
- 2 是滚动视图 我用的是uitableview 我看网上也有用UIscrollview 的 投其所好吧 看哪个好用就用哪个
2包含搭建是 sectionHeard sectionFooter 中间夹个cell 视图
这样明白的人 应该就该知道怎么处理了,
处理的逻辑
我这边处理的是 跟微信评论是一样的 做的事本地数据 当然也走接口,你懂的
当你评论的时候 不仅弹窗的评论数据会+1,首页的评论数 也要+1 这就要添加回调了
注意点
评论的时候 要区分 主评论者 与 主评论下的二级评论, 回复主评论的时候 评论格式是 xxx : 评论内容 当你回复二级评论的时候 评论格式是 xxx 回复xxxx: 评论内容
评论时间
如果评论内容+时间 正好一行 就跟在评论内容后面的
如果评论内容 +时间 超过一行 昨天 12: 换行了 时分 跑第二行的时候 这里我们就要添加判断了 我用的是富文本 这里用富文本主要是为了拼接 作者图标,在计算内容是否超过一行时候 注意 评论内容有可能是表情图标,一定要注意 网上 计算表情图标内容的高度的时候 是有误差的,而且误差还很大,
我这样写
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithAttributedString:_content.attributedText];
[attributedString addAttribute:NSFontAttributeName value:SYSTEMFONT(14) range:NSMakeRange(0, attributedString.length)];
CGSize size = [NSAttributedString multiLineSize:SCREEN_WIDTH - 85 - 35 withAttrigbute:attributedString];
CGRect frame = [self frame];
frame.size.height = size.height + 30 + SYSTEMFONT(14).lineHeight * 2;
self.frame = frame;
自己按照自己的需要写就好 我代码只做参考,
剩下主要是下面的评论视图 这个还好,代码有点多 评论 主要是 文本键盘 跟表情按钮键盘
如果有需要的可以私聊我
趁上线后时间 总结一部分内容 如果有不妥的 见谅 水平有限 文化不好,有可能表述不好,见谅就好 ,如果有短视频不懂的也可以交流一下
大概就这样 后续我会把评论这部分的代码 单纯摘出来写个demo 下来
会上传到github上 多多指教
我的github