首页 > 开发 > iOS > 正文

TableView中滑动事件优先级

2017-09-08 13:48:42  来源:网友分享

场景描述: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)];    }