iOS 点击tableView的cell,让其滚到屏幕顶部

点击tableView的cell,让其滚到屏幕顶部,很多电商的分类模块,都采用这种做法

1. 示例代码

- (void)viewDidLoad {

    [super viewDidLoad];

    [self addTableView];

}

#pragma mark - 创建tableView

- (void)addTableView

{

    UITableView *tableView = [[UITableView alloc]init];

    tableView.frame = self.view.bounds;

    tableView.delegate = self;

    tableView.dataSource = self;

    [self.view addSubview:tableView];

}

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    // 1.创建cell

    static NSString *ID = @"cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];

    }

    // 2.设置cell的数据

    cell.textLabel.text = [NSString stringWithFormat:@"%ld",(long)indexPath.row];

    return cell;

}

#pragma mark - 点击cell调用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; // 关键代码

}

2. 参数说明:

    UITableViewScrollPositionNone,    无所谓,置顶,置底都可以,只要最快出现在屏幕范围内

    UITableViewScrollPositionTop,    点击的那行置顶

    UITableViewScrollPositionMiddle,    点击的那行置为中间

    UITableViewScrollPositionBottom  点击的那行置底

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。