如何记录tableView cell当前滚动到的位置

2025-05-08 03:14:58
推荐回答(2个)
回答1:

UITableView继承UIScrollView, 你可以实作下面这个UIScrollView的protocal, 会在卷动停止告诉你offset
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
//scrollView.contentOffset 会告诉你offset
}

至於你说的要记录下来, 如果是要关闭程式到下次开启自动跳到某个位置
你可以去看看NSUserDedaults教学, 简单使用如下
NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
[userPrefs setInteger:scrollView.contentOffset.y forKey:@"offSet"];
[userPrefs synchronize];
这样会把scrollView.contentOffset.y值用Key-Value方式记录下来

下次要取用, 用Key值取
NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
[userPrefs integerForKey:@"offSet"]

回答2:

UITableView继承UIScrollView, 你可以实作下面这个UIScrollView的protocal, 会在卷动停止告诉你offset
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
//scrollView.contentOffset 会告诉你offset
}

至於你说的要记录下来, 如果是要关闭程式到下次开启自动跳到某个位置
你可以去看看NSUserDedaults教学, 简单使用如下
NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
[userPrefs setInteger:scrollView.contentOffset.y forKey:@"offSet"];
[userPrefs synchronize];
这样会把scrollView.contentOffset.y值用Key-Value方式记录下来

下次要取用, 用Key值取
NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
[userPrefs integerForKey:@"offSet"]