2014-06-05 3 views
0

UITextField가있는 UITableViewCell이 있습니다. UITextField를 클릭하면 전체 셀이 tableView에 표시되는지 확인하려고합니다. textfieldDidBeginEditing에서 다음과 같이했습니다.iOS가 전체 셀을 표시하도록 부분 셀을 애니메이션합니다.

- (void) textFieldDidBeginEditing:(id)textField { 
    TTTableViewCell *cell = (TTTableViewCell *)[self.tableView cellForRowAtIndexPath:objc_getAssociatedObject(textField, kIndexPathId)]; 
    [self.tableView setContentOffset:CGPointMake(cell.frame.origin.x, cell.frame.origin.y - self.tableView.sectionHeaderHeight) animated:YES]; 
} 

사용자가 목록을 볼 때 완벽하게 작동합니다. 사용자가 상단에서 부분적으로 보이는 셀을 탭하면 전체 셀이 조금 ​​움직이는 것을 알 수 없습니다.

누군가이 문제에 대한 해결책을 알고 있습니까?

답변

1

정확하게 이것을 해결할 수있는 UITableView 메소드가 있습니다. scrollToRowAtIndexPath:atScrollPosition:animated:을 사용하여 UITableViewScrollPositionTop을 전달하여 셀을 맨 위로 가져 오도록 테이블보기에 요청할 수 있습니다.

(먼저 불필요하게 스크롤하지 않도록 확인해야 할 수도 있습니다.)

관련 문제