我有一個包含TableView的ViewController。我想在每個單元格中做一個紅色的按鈕,他們做了一些事情(讓我們說'hello'來測試),或者當我觸摸單元格的任何地方,但不是按鈕時,我會執行一個segue。Swift - 在表視圖單元格中未觸發按鈕操作
但是,即使當我觸摸按鈕,這是誰執行SEGUE。我嘗試了SF一些搜索,但沒有任何的問題,幫我...
我不知道這是通常的,但是當我接觸到的細胞,所有的行白色背景變成灰色,紅色按鈕,甚至背景。
在故事板我有這樣的細胞層次:
的用戶交互的兩種細胞和按鈕啓用。
在問題我發現他們說,在小區集中的「披露指示器」附件',我做到了,但如果可能的話,我想保持在「無」。 我也設置了電池的自定義類,這裏是代碼:
class MyTableViewCell: UITableViewCell {
@IBOutlet weak var rentButton: UIButton? // I use this class for 2 tableview almost similar, but in the other I don't have the redButton, that's why I put an '?'
}
我還設置了代理和的tableView的數據源到我的ViewController,這裏是我的視圖控制器的代碼:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MyTableViewCell
cell.rentButton!.tag = indexPath.row
cell.rentButton!.addTarget(self, action: #selector(MyViewController.rent(_:)), forControlEvents: .TouchUpInside)
return cell
}
// Rent() is never called:
func rent(sender: UIButton) {
print("here \(sender.tag)")
}
編輯:解決的辦法是從conainer角度提出了按鈕!
謝謝。但它仍然不起作用。 :(每個單元格的segue不是從單元格中移出,而是從ViewController中移出,我按Ctrl +從第一個VC上的黃色圖標拖動到第二個VC上,實際上,方法rent()永遠不會調用,始終執行SEGUE ... – Kev
你能嘗試移動租金按鈕出ContainerView,進入內容查看?第一個停靠港應該得到這個觸發正確 –
我感動的按鈕從容器視圖和它的作品!謝謝你好! – Kev