如何在 cellForRowAtIndexPath 方法中判断滚动方向(右上左下)
how to jude the scroll direction (up down right left) in the cellForRowAtIndexPath method
当我使用UITableView
和UITableViewCell
时,在-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;
}
当我使用UITableView
和UITableViewCell
时,在-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;
}