gpt4 book ai didi

ios - 实现 accessoryButtonTappedForRowWithIndexPath : in Swift 2

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:16 24 4
gpt4 key购买 nike

我正在尝试在 Swift 2 的 UITableViewController 上实现 accessoryButtonTappedForRowWithIndexPath:

正如我在下面解释的那样,我认为我在创建 disclosureIndicator 时遗漏了一些东西,但我不知道是什么。它是从代码中提取的,但我的目标操作没有被调用。啊!

要以编程方式执行此操作,我的理解是我需要在返回我的 cell 之前在 cellForRowAtIndexPath 中添加 detailDisclosure 指示符。我这样做如下:

// 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 的代码,我可以做到。我错过了什么?

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/#//apple_ref/occ/intfm/UITableViewDelegate/tableView:accessoryButtonTappedForRowWithIndexPath :

最佳答案

不确定为什么要在代码中添加这样的披露按钮指示器。

您正在寻找的只是两步过程 -

第 1 步:在单元格上添加正确的 accessoryType:

cell.accessoryType = .DetailDisclosureButton

第 2 步:通过创建 accessoryButtonTappedForRowWithIndexPath 函数在点击按钮时执行操作:

override func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
doSomethingWithItem(indexPath.row)
}

关于ios - 实现 accessoryButtonTappedForRowWithIndexPath : in Swift 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com