- iOS开发中相信许多开发者都遇到過,类似于像
微信朋友圈的评论回复
功能的开发难点莫过于 Cell里面的子控件布局
、 点击事件的回调
和 评论回复的逻辑处理
。
- 笔者将通过
两種方法
来实现微信朋友圈评论回复
功能也将通过一个仿优酷视频评论和回复的Demo
来实战一番,本文将通过利用UITableView
的段头+cell+段尾
来实现希望能為广大开发者提供一点思路,少走一些弯路填补一些细坑。
- 列表通常利用
tableView
来实现
-
tableview
实现又分为自动布局
和绝对布局
(即Frame布局
)
自动布局
:個人推荐利用+的方案来实现自动布局。
Frame布局
: 事先计算出Cell
子控件的Frame以及Cell
的高度存入ModelFrame
里面,虽然计算稍微复杂
但是性能好,可控性强易動画,扩展维护成本低
两种布局方式不是本文的重点,依旧个人喜好笔者偏好是Frame布局
,本文案例也将采用这种方式
-
Cell
里面的昵称支持點击
跳转用户信息
- 首先明确内容支持
attributedString(富文本)
而不是text(普通文本)
。
- 可以使用
UILabel
的attributedText
或者采用第三方框架和,笔者在此采用的是
- 设置文本的额外区域防止文字过少,用户无法点中文本嘚
bug
// 设置文本的额外区域,修复用户点击文本没有效果
- 点击
评论昵称
获取用户模型(MHUser
)
- 点击
评论昵称
在评论模型(MHComment
)中通过通知传递用戶模型(MHUser
)。虽获取用户模型(MHUser
)简单但使用通知
会增加项目的耦合性
。
// 这里痛过属性的userInfo保存User模型后期通过获取模型然后获取User模型 // 点擊用户的昵称的事件传递 // // 这里通过通知把用户的模型传递出去 // 利用KVC获取UserInfo 其实可以在MHComment模型里面利用 通知告知控制器哪个用户被点击了
- 文章若對您有点帮助,请给个喜欢??毕竟码字不易;若对您没啥帮助,请给点建议?,切记学无止境。
- 针对文章所述内容阅读期间任何疑问;请在文章底部评论指出,我会火速解决和修正问题
Gallop --- 异步绘制排版引擎支持布局预加载缓存、支持图文混排显示,支持添加链接、支持自定义排版自动布局。 只需要少量简单代码就可以快速构建一个性能相当优秀(滾动时帧数60)的图文混排界面。
3.设置约束 自动布局
-
如果需要更加详细的内容请看各个头文件和Demo,有详细的注释
-
Demo中有用Gallop构建的微信朋友圈,丅载Demo真机调试
正在不断完善中...有任何问题请联系我
运行demo可以查看效果,而且在demo中针对各种文本和图文的实现都有详细的用例