2016-07-24 47 views
1

我正在使用M13Checkbox,您可以查看Github頁面here。在我的表格視圖函數中,我爲每個單元格的複選框變量分配一個M13複選框。在我的自定義單元類中,變量看起來像這個var checkbox = M13Checkbox()複選框在Swift中選擇的操作?

這是什麼地方,我定義的表視圖中的複選框的代碼如下:

cell.checkbox = M13Checkbox(frame: CGRect(x: 15.0, y: (cell.center.y)-22.0, width: 20.0, height:20.0)) 
view.addSubview(cell.checkbox) 

我的問題是我怎麼有當用戶按下一個複選框的動作出現?點擊複選框時,我想要另一個視圖或彈出窗口。這是可能的方式,我建立了?我需要添加哪些代碼?

回答

2

M13Checkbox源自UIControl,因此您可以使用addTarget函數爲事件添加處理程序。

cell.checkBox.tag = indexPath.row 

cell.checkBox.addTarget(self, action: #selector(YourClassName.onValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged) 

... 

func onValueChanged(sender : AnyObject?) 
{ 
    if let checkBox = sender?.view as? M13Checkbox 
    { 
    let row = checkBox.tag 
    } 
} 
+0

有沒有一種方法可以找出在哪個行/哪個單元格中單擊了按鈕? –

+0

如果你想這樣做,你需要將行存儲在複選框的標籤屬性中。我更新了我的答案。 –

+0

謝謝!這正是我所期待的! –