2011-12-23 56 views
3

我有一個自定義UITableViewCell完全寫在代碼(無IB),它有一個附件按鈕,只需在表視圖上調用didSelectRowAtIndexPath,並且它工作正常,並且方法被調用沒有問題。自定義uitablviewcell不會調用控制器中的didSelectRowAtIndexPath

但是,當我點擊單元格本身(而不是附件視圖)沒有被調用時,爲什麼?

編輯:代碼是巨大放到這裏......然而,自定義單元格中包含噸標籤,圖像夫婦和滾動視圖...

回答

4

這是在黑暗中拍攝,但如果每個單元格上有許多不同的對象(即圖片,標籤等),那麼它可能無法正常工作,因爲這些對象是用戶在嘗試點擊單元時正在擊中的內容。單元格是否變成藍色(表示選擇)?如果沒有,請嘗試隱藏/刪除這些對象,看看它是否有效。

如果是這種情況,那麼您可能想要做的是創建一個位於其他對象之上的不可見單元格或按鈕,並從幕後調用didSelectRowAtIndexPath。

這應該解決您的問題: Raise selection event (didSelectRowAtIndexPath) when subview of UITableViewCell is tapped

試試你的觀點的userInteractionEnabled屬性設置爲NO。

這將使其忽略所有觸摸事件,然後它下面的視圖將能夠捕獲這些事件。 - 費利佩薩比諾

+0

公牛的眼睛......但是,有沒有辦法調用didSelectRowAtIndexPath與這些子視圖的存在? – JAHelia

+0

真棒...感謝一百萬:) – JAHelia

+0

沒有問題:)沒有人喜歡被卡住! –

1

您必須張貼您的代碼來了解你做了什麼......你要看看這個例子來理解你的代碼是否正確或不...

http://www.edumobile.org/iphone/iphone-programming-tutorials/impliment-a-custom-accessory-view-for-your-uitableview-in-iphone/

+0

看看上面的編輯 – JAHelia

+0

@JAHelia檢查出這個例子。在那,他們做了一個調用輔助視圖的另一種方法。如果你想單擊單元格,那麼你可以在didSelectRowAtPath方法中編寫代碼。 –

+0

@ DineshRaja:感謝您的鏈接 – JAHelia

1

我已經部分地回答我的問題:寬滾動視圖阻止細胞從調用didSelectRowAtIndexPath方法,除去scrollView會解決這個問題,但是,我想用這個方法來調用這個方法scrollView ...任何人有想法將高度讚賞...

相關問題