如何使用UITableViewCell附件Button作为Popover的锚点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用UITableViewCell附件Button作为Popover的锚点相关的知识,希望对你有一定的参考价值。

我试图使用UITableViewCell的accessoryButton作为Popover的锚点,但无法使用故事板连接它。我以编程方式尝试使用accessoryButtonTappedForRowWith函数,但这也无效。我怎么连接它?

答案

如果你的类是UITableViewController的子类,那么使用:

override func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) {
    print(indexPath.row)
}

检查示例代码:

class ViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = "(indexPath.row)"

        cell.accessoryType = UITableViewCellAccessoryType.detailButton
        return cell
    }

    override func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) {
        print(indexPath.row)
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
    }
}

如果它是UIViewController的子类,那么在该方法之前你不需要override所以它将是:

func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) {
    print(indexPath.row)
}

在这种情况下,不要忘记将表格视图的UITableViewDataSourceUITableViewDelegateViewController连接起来。

查看example了解更多信息。

以上是关于如何使用UITableViewCell附件Button作为Popover的锚点的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableViewCell 中获得透明的附件视图? (带截图)

如何使用UITableViewCell附件Button作为Popover的锚点

当附件是UITableViewCellAccessoryCheckmark时,如何将文本置于UITableViewCell中

如何显示 UITableViewCell 附件复选标记

如何在 Swift 3 中保存 UITableViewCell 附件复选标记的状态

iOS:如何将 UITableViewCell 附件按钮向左移动