2013-03-30 4 views
1

저는 Scroll View에서 TableView와 Collection View를 사용하고 있습니다. 테이블 뷰의 높이를 변경해야하기 때문에 테이블 뷰에서 스크롤을 사용하지 않도록 설정했습니다. UITableView 동적 높이는 항상 0입니다.

나는 높이를 얻기 위해이 코드를 사용하지만, 모든 높이

//NSUInteger tableViewheight = self.videosArray.count * 60; //60 is the cell height 

NSUInteger tableViewHeight = self.videosTableView.contentSize.height; 

CGRect frame; 
frame = self.videosTableView.frame; 
frame.size.height = tableViewHeight; 
self.videosTableView.frame = frame; 

0 나는 또한 위의 주석 코드를 시도했다.

누구나 내가 높이를 얻을 수있는 방법이나 내가 뭘 잘못하고 있는지 아이디어?

감사합니다.

+0

때 당신이하려고합니까? contentView 높이가 표시되기 전에 유효한 셀의 높이입니다. –

+0

번 업데이트 답변을 참조하십시오. – Balu

+0

각 셀의 높이가 고정되었거나 동적입니까? –

답변

1

이 시도 :

heightRateTbl = [myArray count] * 60; 

rateTableView.frame = CGRectMake(10, 20, 300, heightRateTbl); 

rateTableView.scrollEnabled = NO; 

rateTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight; 

[rateTableView reloadData]; 
+0

전에 tableview를 다시로드했습니다. 데이터 소스 배열의 수가 100입니까? 이에 따르면 테이블 6,000 포인트를 높일 수 있습니다. –

+0

tableView 스크롤을 설정하면 문제가 해결되었습니다. rateTableView.scrollEnabled = YES; –

+0

'frame.size.height'가 아닌'contentSize'에 대해 생각하고 있습니다. –

0

당신은 프레임을 설정하려고 다음과 같은 코드가 있어야합니다 -

[self.videosTableView reloadData]; 
float tableViewHeight = self.videosTableView.contentSize.height; 
CGRect frame = self.videosTableView.frame; 
self.videosTableView.frame = CGRectMake(frame.origin.x, tableViewHeight, frame.size.width, frame.size.height); 
NSLog(@"tableViewheight height = %f",tableViewheight); 
NSLog(@"videosTableView height = %f",self.videosTableView.frame.size.height); 

가 당신을 위해 작품을 바랍니다.

+0

@DanielKappacher : 위의 코드를 사용해 보셨나요? 무슨 일이 일어 났는지 알려주시겠습니까? –

+0

네,하지만 스토리 보드에 추가 한 높이 만 제공하고 높이 동적 표고는 높지 않습니다. –

+0

플로트로 해 봤니? tableViewHeight = self.videosTableView.contentSize.height; float 대신 tableViewheight = self.videosArray.count * 60; ? –