[问题] 关于Line的聊天室 滑到顶端增阵列数量

楼主: s001582000 (仁傑)   2015-12-17 18:10:55
各位前辈大家好
小弟我想实现跟Line一样
一个聊天室 滑到顶端之后增加资料数量 并且 insert Rows
同时ContentOffset 也要随着数量增加 使用者看到的画面不会跳动
小弟做法是UITableView 配合autolayout的cell
return height 也是用 UITableViewAutomaticDimension
用insert row的话 高会因为还没算好 会
导致 contentOffset跳动
所以只能用reloadData
拼拼凑凑下
把func放在scrollViewDidEndDecelerating
完全不能像Line的Scroll方式
一直滑一直滑都不会卡顿卡顿的
Line的聊天室大概是往哪个方向
有前辈可以指点一下吗
///////////////////////////////
hi 我是原Po
原来在swift里面
contentOffset = CGPoint 跟 setContentOffset(CGPoint)
是不一样的事情
后者会把Animation中断
感谢各位
作者: uranusjr (←這人是超級笨蛋)   2015-12-17 18:44:00
用 reloadData 一定会卡, 只能手动 insert
作者: yuanruo (罪を憎んで人を憎まず)   2015-12-17 21:35:00
聊天室用tableview做的尽量不要用autolayout做会有contentSize不准和一些问题如果你之后要加些图片或sticker时,不是单一纯文字的聊天
作者: nobody1 (无事家中坐)   2015-12-18 17:06:00
回到top之前就要call了
作者: yuanruo (罪を憎んで人を憎まず)   2015-12-18 18:04:00
用手算顺序是这样塞data进array 然后知道有几笔是新的之后自己组一个indexPath 用heightForRow取出新的高度然后跟原来的Offset相减 最后reloadData 再设offset回去当然你heightForRow那边也是自己手算高度autolayout试看看reloadData完用scrollToRowAtIndexPath

Links booklink

Contact Us: admin [ a t ] ucptt.com