2017-02-01 40 views
0

我之前有過類似的問題,但這一次,問題的解決方案仍然沒有解決。動態tableviewcell中的按鈕不可點擊

所以我做了一個原型單元格的動態tableview,並放入按鈕(用藍色字母的灰色背景視圖是按鈕)。 tableview

問題是,一旦模擬器啓動,按鈕不可點擊。我多次檢查問題與isUserEnabled無關,也不涉及子視圖的順序(當我使用3D調試器進行檢查時,按鈕是層次結構中最高的)。

我猜測這個問題可能來自於這是一個動態單元格,但對我來說似乎很奇怪的是,「添加精通」文本字段對我的觸摸做出了響應,但按鈕卻沒有。

問題的根源是什麼?

謝謝。

+0

你檢查你的插座連接或選擇的按鈕? –

+0

你如何驗證按鈕是否被點擊? – Adeel

回答

2

iOS6的

之前
UITableViewCell> 
    | <UITableViewCellContentView> 
    | | <UILabel> 

後iOS7

<UITableViewCell> 
    | <UITableViewCellScrollView> 
    | | <UITableViewCellContentView> 
    | | | <UILabel> 

iOS7或更高的處理方法被點擊按鈕時,當事件處理是不同的。

動態地添加按鈕操作如下:

cell.btn.tag = indexPath.row 
cell.btn.addTarget(self, action: #selector(MainVC.buttonAction), for: UIControlEvents.touchUpInside) 
+0

謝謝你的建議。我會嘗試一下並回復你。 雖然我有一個問題,爲什麼我需要動態添加按鈕動作?我也相信這可能是我的問題的解決方案,但我想知道爲什麼這會工作時使用故事板添加IBAction不起作用 – Daniel

+0

順便說一下你的建議工作。感謝您的幫助:) – Daniel

+0

@Daniel默認情況下,表格視圖有一個觸摸事件。單元格的所有元素都可以通過單元格的觸摸來識別。因此,如果您在單元格中使用按鈕,則必須指定觸摸事件。 –