我有一個UITableViewCell
,它是UITableViewCellStyleDefault
。當我試圖放置比UITableViewCell
更長的文本時,它會截斷它。如何讓單元格擴展以適應此文本?當文本超出空間時,使UITableViewCell展開
2
A
回答
1
不能展開細胞的寬度超過iPhone的屏幕...你可以做的是 1>使字體較小 2>讓你的文字多行
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
CGRect contentRect = CGRectMake(80.0, 0.0, 240, 40);
UILabel *textView = [[UILabel alloc] initWithFrame:contentRect];
textView.text = mytext;
textView.numberOfLines = 2;
textView.textColor = [UIColor grayColor];
textView.font = [UIFont systemFontOfSize:12];
[cell.contentView addSubview:textView];
[textView release];
0
我認爲所有的細胞都需要是相同的高度和寬度。您可以使用tableView's rowHeight
屬性更改UITableViewCells
的高度。
例如,如果你繼承UITableViewController
self.tableView.rowHeight = 100;
另一種方法是添加自定義UILabel
的內容查看喜歡前面所示的細胞的一個子視圖。
2
我沒有試過做你想要做什麼,但它可能會去是這樣的:
您需要更改視圖的大小取決於文本字符串的長度大小在裏面。
表視圖委託(您的視圖控制器)應該實現
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
Message *msg = (Message *)[messages objectAtIndex:indexPath.row];
CGSize size = [[msg text] sizeWithFont:[UIFont fontWithName:@"Helvetica" size:kLabelFontSize]
constrainedToSize:CGSizeMake(220.0f, 480.0f)
lineBreakMode:UILineBreakModeTailTruncation];
CGFloat minHeight = 20.0f;
CGFloat height = size.height > minHeight ? size.height : minHeight;
return height;
}
,它告訴視圖多高,使每一行。
您需要同樣需要調整UITableViewCell標籤的框架大小。
相關問題
- 1. 當UITableViewCell超出範圍時檢測到
- 2. 展開UITableViewCell以顯示選中時的其他文本標籤
- 3. 當NSSplitView子視圖展開/未塌縮以騰出空間時,將NSWindow加寬
- 4. 當文本太長時HTML/javascript垂直展開文本框
- 5. 當內容溢出時展開div
- 6. 當rowdetails展開時突出顯示行
- 7. 讀取文本文件時,GC開銷限制超出錯誤
- 8. UITableViewCell展開和摺疊
- 9. 展開收起的UITableViewCell
- 10. 點擊展開並在UITableViewCell中顯示更多文本
- 11. 當表格行超出頁面長度時,文本在pdf開始處重疊
- 12. 當jQuery使用ajax調用php腳本時,文件打開導致超時
- 13. 檢查當前時間是否超出時間限制
- 14. 當使用insertRowsAtIndexPaths時,索引超出了空數組的邊界
- 15. SSRS - 當Tablix超過page1空間時的半空白頁面
- 16. 展開UILabel文本
- 17. 當文本文件爲空時隱藏回聲輸出
- 18. 當我選擇UITableViewCell時出錯了嗎?
- 19. textarea當文本溢出時擴展一行
- 20. 當文本超出預期時,將文本框保留在原位
- 21. 在jQuery動畫期間展開Iframe當內容展開
- 22. 當腳本運行時間超過120秒時,頁面超時,404錯誤
- 23. 轉換空間文本剛開始玩的MySQL的空間空間列
- 24. 帶有「溢出時伸展」的文本字段間距?
- 25. 如何滾動元素以騰出空間來展開元素
- 26. 當我的輸入沒有被展開時給出一個顏色,當它被展開時其他顏色
- 27. PostgreSql刪除時間超出
- 28. 超出功能的時間
- 29. 當沒有更多的空間時重新格式化文本
- 30. 當存在換行符時,均勻分佈空間文本
我真的很喜歡這個解決方案。您可以簡單地返回任何浮點數以輕鬆更改單元格的高度。好簡單 – 2012-06-20 19:02:02