2013-12-23 4 views
3

View의 파일 구조는 다음과 같습니다. -> ScrollView -> TableView. 이제 tableView의 내용이 동적으로 결정됩니다. 내용이 꽤 큰 경우 표의 마지막 레코드가 표시되지 않습니다. 다음 코드를 설정해 보았습니다.Tableview 마지막 셀은 scrollview를 사용하여 보이지 않습니다. iOS

self.scrollView.contentSize = CGSizeMake(320.0,568.0); 

[self.scrollView setContentOffset:CGPointMake(self.scrollView.contentOffset.x, 0) 
         animated:YES]; 

가로 모드에서는 문제가 발생했습니다. 테이블 내용이 많이 아래로 스크롤됩니다. 스크롤하는 동안 나타나는 ScrollBar의 크기가 줄어들면 작동합니까? 이 문제에 대한 다른 해결책은 무엇입니까? enter image description here

+0

storyboard/xibs의 자동 레이아웃 설정도 확인하십시오. 아마도 여기에 뭔가 문제가있을 수 있습니다. – CainaSouza

+1

이것은 Apple에 따른 것입니다. UIWebView 또는 UITableView 개체를 UIScrollView 개체에 포함하면 안됩니다. 이렇게하면 두 개체의 터치 이벤트가 섞여서 잘못 처리 될 수 있으므로 예기치 않은 동작이 발생할 수 있습니다. " – santhu

답변

1

tableView 높이는 ScreeHeight-NavBarHeight으로되어 있습니다. 귀하의 경우에는 tableView이 사용 가능한 화면 높이보다 커 보이는 것 같습니다.

빠른 수정으로 다음을 시도해보십시오. 그러나 사용 가능한 화면 높이에 따라 자동으로 크기가 조정되도록 구속 조건을 사용해야하는 것이 이상적입니다.

- (void)viewDidLayoutSubviews { 
    CGFloat navbarHeight = 44; //In iOS7, this is supposed to be 64 but you should dynamically calculate it or better use constraints 
    CGRect tempFrame = self.view.frame; 
    self.tableView.frame = CGRectMake(tempFrame.origin.x, tempFrame.origin.y, tempFrame.size.width, tempFrame.size.height - navbarHeight); 
} 

참고 :이 코드는 UITableViewController 하위 클래스 당신은 고려 테이블의 뷰 행 높이와 열 수있는 ScrollView의 contentSize을 설정하는 동안 고려해야

0

로 이동합니다. 당신의 tableview의 높이가 200이고있는 tableview 3 행이 포함 된 경우 예를 들어, 콘텐츠 크기의 높이를 다음과 같이 설정해야합니다 : -

self.scrollView.contentSize = CGSizeMake(320.0, (200 * 3)); 
[self.scrollView setContentOffset:CGPointMake(self.scrollView.contentOffset.x, 0) 
        animated:YES]; 
+0

가로 방향의 경우이 문제가 발생합니다. Header Section이 훨씬 위를 차지하고 tableView가 절반으로 표시됩니다. 다른 모든 것들을 시도했지만 돌파구를 찾지 못했습니다 ... –

3

어쩌면이 롤 가지 더럽습니다. 사용 -

tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values passed are - top, left, bottom, right 

필요에 따라 하단 오프셋을 전달합니다.

관련 문제