2009-05-23 57 views
23

在iPhone上,當它顯示某個輔助視圖(披露指示符等)時,如何計算表格視圖單元格內容視圖的寬度?UITableViewCell的contentView的寬度與給定的附件類型

我需要這個以便爲包含可變長度文本包裝的單元格計算正確的單元格高度。但是,當表視圖委託需要單元格高度時,它實際上並沒有實際的單元實例,所以它不能直接查詢內容視圖邊界。

我可以很容易地硬編碼一個20像素的邊緣在右邊看起來是正確的樣式表視圖縱向方向與披露指標,但寧願做正確的方式,以便它保持如果蘋果決定調整利潤率的話就會工作。

(這與this question。)

回答

2

就個人而言,我只是硬編碼值 - 更簡單,事情將以可預測的方式破壞。

但是,我是以編程的方式做到這一點,我會創建一個UITableViewCell,設置您需要測量的編輯屬性/附件視圖,然後詢問它的contentView有多大。

當然,我可能會大量緩存這個 - 當要求UITableView詢問你的高度信息對我來說聽起來像它會很慢(儘管如此,首先檢查一個探查器),做分配。

0

我會的UITableViewCell的子類,持有其所有子元素。當單元格進入並存在編輯模式時,您可以插入某些元素的框架。 Apple創建自定義表格視圖單元一節的Table View Programming guide中有一個很好的例子。

0

我相信UITableViewCell的contentView屬性是包含你的標籤等的視圖,所以它的寬度應該是你可用的大小。

+0

問題是表視圖委託需要知道不可見的單元格高度,因此沒有實際的單元實例從中獲取contentView。我想我可以得到_a_可見單元格的contentView,並假設所有其他單元格將具有相同的contentView寬度。 – 2009-05-24 16:32:01

+0

你可以嘗試從委託中刪除高度方法,然後在設置單元格時使用UITableView – 2009-05-25 03:01:37