Swiftcell滑动数据丢失,图片重叠,cell重用问题的解决-创新互联

公司的项目,需要做一个类似QQ空间动态展示的一个页面如下图(忽略UI :))~Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

创新互联建站主要从事网站设计制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务房山,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

上图可以看出一个Section分为三个row,Swift cell滑动数据丢失,图片重叠,cell重用问题的解决第一个row是头像、名字、时间。Swift cell滑动数据丢失,图片重叠,cell重用问题的解决第二个row是文字、图片。Swift cell滑动数据丢失,图片重叠,cell重用问题的解决第三行是点赞加评论按钮。

首先是cell重用问题,使得第二个row的图片重叠,如下图:Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决解决方法:(用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重用导致数据丢失Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

完成点赞效果,点击按钮点赞按钮时候,颜色改变,然后提示点赞成功如下图Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

然后奇怪的是,上滑动或下滑动之后,颜色就会变回原来的颜色,但是数据已经提交到服务器,整个tableview reloadData之后会显示已经点赞。

解决方式

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

新建一个NSMutableSet(),用来存放你点赞的blog的id,点赞,存进去,取消点赞,删除(普通的数据丢失,在didSelecetRow里面存放indexPath就好了)反正存一个唯一的标记。

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

然后在加载cell的最后做一个判断,判断所有的blogid中哪些存起来,那么就显示点赞

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决

困扰了3天的问题终于解决了~感谢一下帮助我的文章

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决http://www.2cto.com/kf/201304/204114.html

Swift cell滑动数据丢失,图片重叠,cell重用问题的解决http://www.jianshu.com/p/c2a9c449d93f

如果有小白想看Swift自适应高度的cell和Label请点进我的博客列表,寻找“Swift 自适应cell与Label的高度”的这篇文章~谢谢大家关注!本人菜鸟,希望大家多多批评与指教~

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:Swiftcell滑动数据丢失,图片重叠,cell重用问题的解决-创新互联
路径分享:http://ybzwz.com/article/coccsp.html