从品牌网站建设到网络营销策划,从策略到执行的一站式服务
公司的项目,需要做一个类似QQ空间动态展示的一个页面如下图(忽略UI :))~
成都创新互联总部坐落于成都市区,致力网站建设服务有网站制作、成都网站建设、网络营销策划、网页设计、网站维护、公众号搭建、微信平台小程序开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
上图可以看出一个Section分为三个row,第一个row是头像、名字、时间。第二个row是文字、图片。第三行是点赞加评论按钮。
首先是cell重用问题,使得第二个row的图片重叠,如下图:
解决方法:(用Storyborad写布局的小伙伴,这里最好不要在这个cell中拖拽控件进去)
这个方法是通过删除重用的cell的所有子视图,从而得到一个没有特殊格式的cell,供其他cell重用。
Indetifiername = "blogCell"
var cell2:BlogCellTableViewCell? = tableView.dequeueReusableCellWithIdentifier(Indetifiername) as? BlogCellTableViewCell
var blogp_w_picpath:UIImageView?
if cell2 == nil{
cell2 = BlogCellTableViewCell(style:UITableViewCellStyle.Default,reuseIdentifier:Indetifiername)
}
else{
//删除所有子视图
while(cell2?.contentView.subviews.last != nil){
cell2?.contentView.subviews.last?.removeFromSuperview()
}
}
//其他赋值代码
cell重用导致数据丢失
完成点赞效果,点击按钮点赞按钮时候,颜色改变,然后提示点赞成功如下图
然后奇怪的是,上滑动或下滑动之后,颜色就会变回原来的颜色,但是数据已经提交到服务器,整个tableview reloadData之后会显示已经点赞。
解决方式
新建一个NSMutableSet(),用来存放你点赞的blog的id,点赞,存进去,取消点赞,删除(普通的数据丢失,在didSelecetRow里面存放indexPath就好了)反正存一个唯一的标记。
然后在加载cell的最后做一个判断,判断所有的blogid中哪些存起来,那么就显示点赞
困扰了3天的问题终于解决了~感谢一下帮助我的文章
http://www.2cto.com/kf/201304/204114.html
http://www.jianshu.com/p/c2a9c449d93f
如果有小白想看Swift自适应高度的cell和Label请点进我的博客列表,寻找“Swift 自适应cell与Label的高度”的这篇文章~谢谢大家关注!本人菜鸟,希望大家多多批评与指教~
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图