如何在 cellForRowAtIndexPath 方法中判断滚动方向(右上左下)

how to jude the scroll direction (up down right left) in the cellForRowAtIndexPath method

当我使用UITableViewUITableViewCell时,在-cellForRowAtIndexPath:方法中,需要根据tableview的滚动方向设置一些属性。我如何获得它?

您可以使用 willDisplayCell :

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSInteger previousPresnetedCell = 0;

    if (indexPath.row < previousPresnetedCell) {

        NSLog(@" ** Scrolled up");

    } else {

        NSLog(@" ** Scrolled down");

    }

    previousPresnetedCell = indexPath.row;
}

问题是,您想如何设置初始属性(在开始滚动 tableView 之前)? 您可以通过简单地使用 scrolView 委托方法 'scrollViewWillBeginDragging':

来检测它
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 
{
    self.tableViewAlreadyScrolled = YES;
}