반응형
UITableView 스크롤 위치를 저장하려면 어떻게 해야 합니까?
어떤 것을 찾을 수 있는 방법이 있습니까?UITableViewCell
스크롤 창의 맨 위에 있습니까?
앱이 종료될 때 저장할 수 있도록 현재 스크롤 위치를 얻고 싶습니다.앱이 시작되면 마지막으로 종료되었을 때의 위치로 스크롤하고 싶습니다.
테이블 뷰의 정확한 간격띄우기를 보기만 하면 쉽게 잡을 수 있습니다.contentOffset
소유물.수직 스크롤의 경우 다음을 확인합니다.
tableView.contentOffset.y;
승인된 솔루션은 모든 테이블 보기 항목의 크기를 알고 있는 경우에만 작동합니다.자동 크기 조정/추정 크기를 사용하는 경우 항상 해당되는 것은 아닙니다.
한 가지 방법은 첫 번째 표시된 항목을 저장하고 항목으로 스크롤하는 것입니다.
다음을 사용하여 표시되는 첫 번째 항목 indexPath를 가져올 수 있습니다.
savedIndex = tableView.indexPathsForVisibleRows?.first
그런 다음 다음을 수행하여 스크롤합니다.
tableView.scrollToRowAtIndexPath(savedIndex, atScrollPosition: .Top, animated: false)
DidLoad(iOS 9 테스트 완료)를 보지 않고 viewWillApear로 로드할 수 있는지 확인합니다.ViewWillAppear는 뷰 레이아웃이 완료되었을 때 표시됩니다. 결과에 차이가 있습니다.
-(void) viewWillAppear:(BOOL)animated {
NSUserDefaults *lightData = [NSUserDefaults standardUserDefaults];
[self.tableView setContentOffset:CGPointMake(0, [lightData floatForKey:@"yValue"])];
}
-(void) viewWillDisappear:(BOOL)animated {
NSUserDefaults *lightData = [NSUserDefaults standardUserDefaults];
[lightData setFloat:self.tableView.contentOffset.y forKey:@"yValue"];
[lightData synchronize];
}
언급URL : https://stackoverflow.com/questions/2795900/how-can-i-get-the-uitableview-scroll-position-so-i-can-save-it
반응형
'programing' 카테고리의 다른 글
SQL Logic 연산자 우선 순위:And 및 Or (0) | 2023.09.03 |
---|---|
파워셸:명령줄에서 powershell을 호출할 때 변수를 스위치 매개 변수로 전달하려면 어떻게 해야 합니까? (0) | 2023.09.03 |
PHP 코드 내에서 MySQL 저장 프로시저를 어떻게 호출합니까? (0) | 2023.09.03 |
CALayer를 위한 애니메이션 종료 콜백? (0) | 2023.09.03 |
jQTouch와 jQuery 모바일의 차이점 (0) | 2023.09.03 |