2010-05-17 60 views
1

我添加了一個按鈕作爲uitableviewcell的附件視圖,當我按下它時,我希望能夠訪問它當前在表格視圖單元格的索引路徑,以便我可以刪除/修改該單元格的內容。我應該子類UIbutton並添加讓它有自己的索引路徑屬性?如果是這樣,我是否需要在該子類中實現任何特定的按鈕方法,以便它們自動加載?任何幫助將不勝感激。對不起,如果這是一個noobie問題。當我單擊該按鈕時,如何找到某個按鈕所在的UITableviewCell的索引路徑?

回答

2

您的子類化解決方案很好,但只適用於自定義按鈕。 [UIButton buttonWithType:]被允許返回你不應該繼承的私有子類。除了合成indexPath屬性之外,您不需要實現任何方法。

一個不雅但卻功能強大的解決方案是從按鈕走到超級視圖,直到視圖爲UITableViewCell,然後向表視圖索取該單元的索引路徑。

如果您不使用部分,您可以將單元格的行拖入按鈕標記中。不健壯或優雅,但它的作品。

您可以製作UITableViewCell的自定義子類並將其用作按鈕的操作目標。然後,它會調用您當前的操作目標作爲發送者。

+0

謝謝,我想我最終會結合第1段和第3段,因爲我需要實施其他一些自定義的事情。 – Jake 2010-05-17 02:59:24

+0

我有同樣的問題,並會注意到有關將按鈕的標記中存儲行或節的預留:標記是一個NSInteger(已簽名)。行或節是NSUInteger(無符號)。如果你的表格數量巨大(可能,我想,使用非常簡單的元素),行或部分的值可能會超過NSInteger的正範圍,你會得到整數溢出。所以我認爲走上超級視角會更好。 – Wienke 2012-07-13 15:15:00

0

在返回UIButton作爲accessoryView之前,將UIButton的標記設置爲當前單元格的indexPath。

然後,當您點擊按鈕並調用選擇器時,您可以從標記(發件人的標記)中確定indexPath.row。

+0

感謝您的回覆。不是標籤應該是一個整數,而不是指針?你說什麼似乎工作,但我收到一個警告說,我從一個指針進行整數。 – Jake 2010-05-17 00:48:22

+0

你應該能夠將indexPath.row放入.tag中,而不會出現問題。也許發佈一些代碼,我們會看看。 – Jordan 2010-05-17 13:28:46

相關問題