2013-06-25 72 views
3

我有一個myCustomCell類,這是的UITableViewCell的子類內部2個UIButtons。的UIButton內部的UITableViewCell

My Custom Cell

的黑色輪廓是細胞(的UITableViewCell *),其由 'cellForRowAtIndex' 返回。 這細胞包含 'myCustomCell' 作爲一個子視圖。 「myCustomCell」有兩個UIButtons及以下屬性:

backgroundcolor = clearColor 
    opaque = NO 

在單擊單元格的任何地方除了兩個紅色方框(UI按鈕),我想「didSelectRowAtIndexPath方法」被觸發。 但是,如果用戶點擊的UIButton,只需要爲目標的選擇被觸發,而不是「didSelectRowAtIndexPath方法」。我怎樣才能做到這一點?

+0

可能是你加了電池的觀點而這吸收的toches滿格。這只是一個假設。 – rptwsthi

+1

應該,如果你添加的目標和行動按鈕是工作的罰款。如果點擊按鈕,它不應該將觸摸事件傳遞給單元格。是否啓用了用戶交互? –

+0

@ kyuubi-按鈕正在採取行動...? –

回答

8

如果構建的小區作爲你如上所述:所述myCustomCell表示在細胞內子視圖,它有在其內部兩個按鈕,每個按鈕具有作用,這應該工作如下;當你點擊按鈕didSelectRowAtIndexPath方法將不起作用,該按鈕將處理觸摸事件由於觸摸層次結構將第一動作至極可以觀察到的是按鈕,將無法繼續在didSelectRowAtIndexPath方法,當你標籤的每一個地方,除了按鈕didSelectRowAtIndexPath方法將處理觸摸,因爲有沒有觀察處理這個觸摸事件,它會達到didSelectRowAtIndexPath方法

+0

我已成立myCustomCell.userInteractionEnabled = NO,從而使標籤和其他不必要的元素不阻止所述觸摸爲「didSelectRowAtIndexPath方法」。在此屬性設置爲「是」的觸摸觸發正確的選擇。但是,各種元素現在阻止「didSelectRowAtIndexPath方法」。 – Kyuubi

相關問題