我試圖在Swift 2中實現accessoryButtonTappedForRowWithIndexPath:
UITableViewController
。實現accessoryButtonTappedForRowWithIndexPath:在Swift 2
正如我在下面解釋的,我想我在創建disclosureIndicator
時錯過了一些東西,但我不知道是什麼。它從代碼中獲取,但我的目標操作不會被調用。啊!
以編程方式做到這一點,我的理解是,我需要回到我的cell
之前添加detailDisclosure指示器cellForRowAtIndexPath
。我做了如下:
// Create disclosure indicator button in the cell
let disclosureIndicatorButton = UIButton(type: UIButtonType.DetailDisclosure)
disclosureIndicatorButton.addTarget(self, action: "disclosureIndicatorPressed:event:", forControlEvents: UIControlEvents.TouchUpInside)
customCell.accessoryType = .DisclosureIndicator
在我的代碼中,detailDisclosure字形被繪製,但我分配給它的目標動作方法不會被調用。
然後,我需要時,它按下按鈕創建一個處理程序:
func disclosureIndicatorPressed(sender: UIButton, event: UIControlEvents) {
print("disclosure button pressed")
// convert touches to CGPoint, then determine indexPath
// if indexPath != nil, then call accessoryButtonTappedForRowWithIndexPath
}
最後accessoryButtonTappedForRowWithIndexPath
包含的代碼執行SEGUE,這是我能做到的。我錯過了什麼?
這是我的問題。 「DisclosureIndicator」只是眼睛的糖果,除了被繪製之外不會做任何事情。 'DetailDisclosureButton'實際上可以有與之相關的操作。謝謝你讓我擺平。 – Adrian
很高興幫助!歡呼:)! – Abhinav