2012-05-16 123 views
1

我有一個UILabel自定義表格單元格。我想要的可以用兩種方法完成。iphone自定義表格單元格,UILabel需要滾動

1-查找包含長文本的標籤的高度,並設置rowHeight以使整個文本可見。

2-使UILabel可滾動,以便用戶可以用手上/下移動文本以讀取整個字符串。

你可以請教我做哪一個怎麼做?

+0

這將以編程方式發生,我承擔?另外,該標籤如何工作?它的寬度是有限的嗎?多一點信息第一.. – Martol1ni

+0

感謝您的快速答案。是的,我以編程方式創建自定義單元格。現在,我將行高設置爲88,在單元格中我有 contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,35,340,44)]; contentLabel.tag = 2; contentLabel.font = [UIFont systemFontOfSize:15]; contentLabel.textAlignment = UITextAlignmentLeft; contentLabel.lineBreakMode = UILineBreakModeWordWrap; contentLabel.numberOfLines = 0; contentLabel.text = contentText; [cell.contentView addSubview:contentLabel]; 它打破了罰款,但如果文本更長,它不顯示。 – Panos

+0

請更新您的原始文章,以便代碼可顯示。 – Martol1ni

回答

1

如果您的文本是靜態的並且不會動態更改,則應使用第一個選項。您可以緩存結果,因此無論何時刷新表格,都不必重新計算文本。您可以使用sizeWithFont:constrainedToSize:lineBreakMode來計算實際文字大小。

對於行高:應該使用tableView:heightForRowAtIndexPath:而不是rowHeight,因爲rowHeight將更改所有行的高度 - 不僅是單個單元格。

一個表格中的可滾動文本視圖:在我看來 - 它看起來像一個應用程序的廉價解決方案,並使它有點業餘。

1

我建議不要在大多數情況下使用第一個選項,因爲這取決於字符串的長度,它可能會使您的表格單元變大。

至於第二個選項:您應該能夠將UIScrollView作爲子視圖添加到表視圖單元格中。滾動視圖可以包含完整大小的文本標籤,並讓您在固定大小的單元格中滾動瀏覽它們。

+0

我們有關於如何做的例子嗎?我新來iPhone,抱歉竊聽。 – Panos

+0

你需要學習兩件事:1)如何使用UIScrollView。 (特別是設置框架和內容)。 2)如何創建自定義表格視圖單元格(帶子視圖)。然後通過在自定義單元格中添加滾動視圖作爲子視圖將它們放在一起。在這個網站上有很多代碼可供使用,其他的代碼可以告訴你如何執行這些單獨的任務,所以祝你好運! – Dima

1

我們有沒有關於如何做的例子?即時通訊新的iPhone,抱歉 竊聽。 - 帕諾斯9分鐘前

UIScrollView *scroller = [[UIScrollView alloc]initWithFrame:cell.frame]; 
scroller.contentSize = CGSizeMake(280, 100); 
UILabel *test = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)]; 
test.text = @"This would be your label."; 
[scroller addSubview:test]; 
[cell addSubview:scroller]; 

這將使一個UIScrollView,並在TableCell的 '細胞' 的標籤。這將工作,但我不認爲這是最好的解決方案,因爲它將是一個已經提供滾動的tableview內的滾動視圖。我的建議是調整rowheigth。

相關問題