2011-10-13 6 views
1

여러 가지 선택 사항을 보유하고 사용자가 이러한 선택 사항 중 하나를 선택할 수있는 UITableView가 있습니다. 선택한 행에 체크 표시가있는 액세서리를 표시합니다.처음 열 때 UITableView에서 행을 스크롤하는 방법

iPad에서는 버튼을 클릭하면 팝 오버가 열리고 체크 된 행 중 하나가 표시된 테이블보기가 나타납니다. 그러나 때로는이 검사 된 행이 화면에 표시되지 않고 스크롤 할 필요가 있습니다. 팝업을 열 때이 선택된 행으로 스크롤하고 싶습니다. atScrollPosition를 : I는 scrollToRowAtIndexPath을하고 시도 애니메이션 : viewDidAppear에하지만 난 viewDidAppear 그냥 viewDidAppear에서 스크롤하기 전에

- (void)viewDidAppear:(BOOL)animated 
{ 
    NSLog(@"viewDidAppear called"); 

    [super viewDidAppear:animated]; 

    //currentSelectedIndexPath is a correct index path 
    [self.tableView scrollToRowAtIndexPath:currentSelectedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:NO];   

} 

답변

4

[self.tableView reloadData]를 호출하려고 발생하지 않습니다 cellForRowAtIndexPath에 대한 호출 선택된 행으로 스크롤 전에 호출되는 것을 발견 .

+0

감사합니다. 작동하는 것 같습니다. 그러나 나는 그것이 왜 필요한지 명확하지 않다. 우리가이 일을하면 어떻게됩니까? – AmaltasCoder

+0

@AmaltasCoder 이렇게하면 'UITableView'가 생성되어 채워집니다. tableView 데이터를 변경할 때마다이 메서드를 호출해야합니다. – PengOne

관련 문제