2011-05-13 121 views
0

我有一個UITableViewCell子類,它有3個標籤和大小,並根據文本長度定位標籤。選中時,所有行都執行相同的功能。我想要一些行也有一個與它們相關的詳細視圖。所以我想添加一個UIButton到幾行,但我不知道該怎麼做。UITableViewCell子類 - 如何將一個按鈕添加到某些行

我應該創建一個UITVCell子類的UIButton成員,並且在layoutSubviews中如果按鈕不是零,我可以爲它騰出空間嗎?

cellForRowAtIndexPath會是什麼樣子?我需要兩個重用標識符嗎?一個用於按鈕,一個用於無按鈕?或者只是創建按鈕,具有按鈕的單元格將自動檢測layoutSubviews中的按鈕併爲其騰出空間?

我找不到任何在線的例子有人這樣做,而不使用廈門國際銀行的..

編輯 - 因此,我增加了詳細披露按鈕,如下的建議,我可以檢測到我的手機有一個accessoryType,但accessoryView的寬度和高度都是垃圾。我需要的寬度和高度,因爲現在的配件是在最前面我行文字,因爲我不會在我的layoutSubviews代碼佔它的..

// CustomTableViewCell.m: 
- (void)layoutSubviews { 
    // I need a width/height here so I can accomodate the accessory button. 
    if (self.accessoryType != UITableViewCellAccessoryNone) { 
     NSLog(@"accessory! %f %f",self.accessoryView.frame.size.width, self.accessoryView.frame.size.height); 
    } 
} 
+0

它看起來就像是一個UITableViewCell子類我有一個accessoryView ..也許如果我檢查這是不是零,並在layoutSubviews中騰出空間,我甚至可以使用tableView:accessoryButtonTappedForRowWithIndexPath: – Mark 2011-05-13 01:03:14

回答

2

你不」 t需要添加一個UIButton到具有詳細信息視圖的行 - 只需讓他們擁有一個披露按鈕(注意:按鈕,而不是指示器!)。揭祕按鈕,當點擊時,通常會顯示該單元格的詳細視圖。

要啓用某個小區披露按鈕,就在cellForRowAtIndexPath方法如下:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

更多細節在這裏:

What's the difference between an Detail Disclosure Button and an Disclosure Indicator?

+0

謝謝,這只是爲我省了很多困惑。 – Mark 2011-05-13 01:32:46

+0

如果您對我的回答感到滿意,請考慮通過點擊左側的勾號來接受它。 – occulus 2011-05-13 17:13:11

+0

由於TVCell子類必須有一種方法來解釋披露按鈕佔用的空間,所以我們還沒有完成... – Mark 2011-05-13 19:04:46

相關問題