나는 UIViewController
과 3 UITableView
을 수직으로 배치했습니다. 테이블을 스크롤하는 것을 원하지 않습니다. 두 개의 테이블 (A
및 B
)의 높이가 내용에서 계산됩니다. 세 번째 (C
)는 화면에 남아있는 공간에 맞게 크기가 조정됩니다. C
의 경우 표시해야 할 행이 몇 개인 지 알 수 있으며 모든 셀을 정확하게 맞추기 위해 올바른 heightForRowAtIndexPath
을 계산하려고합니다. 지금 고정 행 수와 테이블 높이에 대한 행 높이 계산
B
A
- 전체 화면의 높이를 가지고에 노력하고있어 일부 고정 된 빈 공간
- 은
C
의 머리글을 뺍니다. - 내가 알아낼 방법에서
C
세포의 숫자로 C
의 바닥 글
C
의 각 개별 셀에 필요한 높이를 얻어야한다. 맞습니까? 내가 누락 된 것이 있습니까? 여기에 내가 사용하고 코드입니다 :이 프로그램을 실행할 때 - (CGFloat) tableView:(UITableView *) heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView = self.tableC)
{
// self.lcA & self.lcB are NSLayoutContraints that I'm setting after I calculate how tall those tables need to be
// buffer is some white space padding I add to keep the tables from touching - it will be hardcoded to some constant before this code runs
CGFloat target = (self.view.bounds.size.height - self.lcA.constant - self.lcB.constant - [self tableView:tableView heightForHeaderInSection:indexPath.section] - [self tableView:tableView heightForFooterInSection:indexPath.section] - buffer)/[self tableView:tableView numberOfRowsInSection:indexPath.section];
}
}
은, 그러나, 내가 명시 적으로 특정 뷰 컨트롤러에 heightForHeaderInSection
를 구현하고 있지 않다 -[MyViewController tableView:heightForHeaderInSection:]: unrecognized selector sent to instance
말, 충돌하지만, 컨트롤러 설정 MyViewController.h
파일의 경우 <UITableViewDataSource,UITableViewDelegate,...>
입니다. 이 코드를 사용하려면 heightForHeaderInSection
을 구현해야합니까? 그렇다면 구현할 수있는 방법이 있으며 일부 기본값 (예 : return [super heightForHeader];
)을 반환하도록 강요합니다. 그렇지 않은 경우 왜이 오류가 발생합니까?
네, 게시 한 코드에서 언급 한 NSLayoutConstraints를 설정하기 위해'contentSize'를 사용하고 있습니다. 스토리 보드에서 스크롤을 허용하지 않도록 상자를 체크했습니다. 그게 너무 돌봐. 내가 찾고있는 것은'C' 테이블에서 셀을 축소하여 내가 가진 공간에 모두 맞출 수 있도록하는 것입니다. 나는 뭔가를 놓치지 않는 한 저를 도울 수있는 'UIScrollView'에 어떤 것이 있다고 생각하지 않습니다. – GeneralMike