2011-12-13 4 views
1

과 (특히 scrollToRowAtIndexPath)에 문제가 있습니다. 여기서 섹션 헤더 높이와 행 높이를 각각 설정합니다. 나중에 키보드가 표시되면 테이블 뷰의 크기를 조정하고 scrollToRowAtIndexPath을 사용하여 현재 관련된 셀로 스크롤합니다. 문제는 3 가지 다른 유형의 위치 지정을 시도한 후 UITableViewScrollPositionMiddleUITableViewScrollPositionBottom이 잘못 배치 된 경우에만 UITableViewScrollPositionTop이 올바르게 배치된다는 것입니다. 스크린 샷을 바로 여기에 : 중간 및 하부 위치가 모두 (중간 열의 최대 약 1 행에 투입하면서 도시 이미지 같은iOS UITableView scrollToRowAtIndexPath가 올바르게 작동하지 않습니다.

UITableViewScrollPositionTopUITableViewScrollPositionMiddle/Bottom

는 상단 위치는, 상단의 행을 넣어 그들의). 이것은이보기에서만 발생합니다 (다른보기에서 잘 작동 함).

테이블 뷰에는 고정 여백과 가변 폭/높이가 있습니다 (IB에서 모든 마크가 밝은 빨간색으로 표시됨).

나는 tableview의 원점을 확인하려고 시도했다. 0,0이라고 말했다. origin.y를 몇 픽셀 이동하면 tableview가이 양만큼 아래로 이동하므로 tableview 원점이 원인이되지 않습니다. 내가 크기를 조정하기 전에 indexPath를 얻기 위해이 코드를 사용하여 한

(이것은 다른 뷰에서 잘 작동합니다) :

NSIndexPath *indexPath = [tblView indexPathForRowAtPoint:self.frame.origin]; 
//resize the tableview 
[tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; 

왜이 위치 이동이 일어나고 있습니다에 대한 어떤 생각?

미리 감사드립니다.

답변

3

확인. 이제 나는이 문제의 원인을 안다. 그리고 나는 여기서 처음으로 묻고 있기 때문에 이것을 여기서 공유해야한다고 생각한다.

이전 개발자가 UITableView의 Scroll View Size의 Content Insets Bottom을 xib 파일에서 100으로 설정했기 때문에 (기본 값은 0으로 생각해야합니다.) 이 사진은 내가이 재산을 발견 한 곳을 보여줍니다 : enter image description here

관련 문제