场景描述:tableview当有消息来的时候添加一个cell,而且让tableview现实整个cell中最后的那部分cell
问题描述:[tableview setContentOffset:CGPointMake(CGFLOAT_MAX, CGFLOAT_MAX)];
通过中方法使tableview始终显示最后几个cell,但是当滑动cell的时候,cell还在滑动缓冲的时候,调用上面那个方法的话,tableview的显示会回到最前面那几个cell。如果不在滑动的时候,调用是没有问题的。
是滑动事件的优先级高还是这个上面那个方法的优先级高。我想实现在滑动的时候不去调用那个方法,不去显示最后几个cell,在不滑动的时候这个方法有效。
解决方案
你可以从下面的代码中选择一份
//滑动时不进行调用 if(!tableView.isDragging) { [tableView setContentOffset:CGPointMake(CGFLOAT_MAX, CGFLOAT_MAX)]; }//手触摸、移动或者滚动时,不调用 if(!(tableView.isTracking || tableView.isDragging || tableView.isDecelerating)) { [tableView setContentOffset:CGPointMake(CGFLOAT_MAX, CGFLOAT_MAX)]; }