반응형
UITableView 스크롤 위치를 가져 와서 저장할 수 있습니까?
UITableViewCell
스크롤 창 상단에있는 것을 찾을 수있는 방법이 있습니까?
앱이 종료 될 때 저장할 수 있도록 현재 스크롤 위치를 가져오고 싶습니다. 앱이 시작되면 마지막으로 종료 된 위치로 스크롤하고 싶습니다.
contentOffset
속성 을 살펴보면 테이블보기의 정확한 오프셋을 쉽게 얻을 수 있습니다 . 수직 스크롤의 경우 다음을 참조하십시오.
tableView.contentOffset.y;
허용되는 솔루션은 모든 테이블보기 항목의 크기를 알고있는 경우에만 작동합니다. 항상 사실이 아닌 자동 크기 조정 / 예상 크기를 사용합니다.
한 가지 대안은 첫 번째 표시 항목을 저장하고 스크롤하는 것입니다.
다음을 사용하여 첫 번째 표시 항목 indexPath를 가져올 수 있습니다.
savedIndex = tableView.indexPathsForVisibleRows?.first
그런 다음 다음을 수행하여 스크롤하십시오.
tableView.scrollToRowAtIndexPath(savedIndex, atScrollPosition: .Top, animated: false)
viewDidLoad (테스트 된 iOS 9)가 아닌 viewWillAppear에서로드 할 수 있는지 확인하십시오. 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];
}
반응형
'Development Tip' 카테고리의 다른 글
Express를 사용하여 NodeJS에서 AJAX 요청 감지 (0) | 2020.10.31 |
---|---|
ID = (x에서 y) 인 SQL에서 여러 행을 삭제하는 방법 (0) | 2020.10.31 |
React.js — 속성 객체를 자식 컴포넌트에 전달하는 방법은 무엇입니까? (0) | 2020.10.31 |
Django 1.8 : 기존 스키마에 대한 초기 마이그레이션 만들기 (0) | 2020.10.31 |
웹 작업자가 할 수없는 서비스 작업자는 무엇을 할 수 있습니까? (0) | 2020.10.31 |