我正在處理該項目。目前我正面臨一個問題,我在一個ViewController中有3個UITableView。它看起來是這樣的:
調整UITableView的大小
現在,第一個TableView中(上一個),只有一個排,具有大小55個像素,它不;噸必須改變大小。接下來,第二個是TableView,也是一行,但這行必須調整大小取決於它的內容。眼下這個TableView中顯示此行:
這行必須調整大小取決於它的文本多久。我所做的計算大小是:
if(tableView == self.usersPostOnTheWallTableView) {
NSDictionary *propertyItems = [self.repliesItems objectAtIndex:indexPath.row];
NSString *text = [self.postItems objectForKey:@"text"];
NSLog(@"%@", text);
CGSize constraintSize = CGSizeMake(280, MAXFLOAT);
CGSize sizeText = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
self.height = MAX(sizeText.height, 44.0f);
self.photosArray = [propertyItems objectForKey:@"attach_photos"];
self.videosArray = [propertyItems objectForKey:@"attach_videos"];
if((self.photosArray.count == 0) && (self.videosArray.count == 0)) {
height += (CELL_CONTENT_MARGIN * 2);
} else if ((self.videosArray.count > 0) && (self.photosArray.count == 0)) {
height += 90 + (CELL_CONTENT_MARGIN * 2);
} else if((self.photosArray.count > 0) && (self.videosArray.count == 0)) {
height += 85 + (CELL_CONTENT_MARGIN * 2);
}
}
現在,如果文本很小,它適合行很好,行是調整大小。像這樣的:
但是,短信來了更大的後,這是什麼發生的事情:
很顯然,我不需要在那裏的滾動和我會禁用它。但是這裏的事情是它需要文本的大小,並且它調整了標籤的大小,你可以看到從標籤的頂部和底部有多少空間。但它並沒有把實際的文字放在那裏。另一件事是,它沒有調整自己的TableView的大小,當我試圖調整它的大小時,我得到了中間表的底部表的重疊。
任何人都可以推薦任何解決方案,或者可能是另一種實現方式嗎?
在此先感謝!
爲什麼你在第一個和第二個視圖中使用UITableView?第一個只是一個按鈕,看起來像一個表格行,第二個只是一個文本視圖,那麼爲什麼你的生活複雜化? :-) – lawicko 2012-07-26 09:08:21
第二個我需要顯示一行,因爲還會有圖像和視頻。 – 2012-07-26 09:09:17
視頻和圖片仍然沒有成爲一張桌子。對於脫離主題感到抱歉,但當設計看起來如此之差時,我無法專注於技術細節。 – lawicko 2012-07-26 09:11:37