我试图在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