【问题标题】:How to call a segue from a uitableview cell如何从 uitableview 单元格调用 segue
【发布时间】:2015-05-16 19:19:50
【问题描述】:

我正在使用故事板和 swift

我有一个包含表格视图的视图。使用故事板,我安排了 5 个不同的可能单元格,每个单元格都有自己的自定义类。示例粘贴在下面。

import UIKit

class AddNew_Date_Cell: UITableViewCell {

    @IBOutlet var Label: UILabel!
    @IBOutlet var textField: UITextField!

    func loadItem(var data:NSArray) {
        Label.text = data[0] as? String
    }
}

这很有效,我可以加载视图,并且 tableview 会按照 id 期望显示单元格。上面的例子是一个标签和一个文本框。

当我选择文本字段时,我希望出现另一个弹出框, 再一次,这个视图被绘制在故事板中,并对其进行了转场。 “LoadPopover2”。

问题是如何从 UITableViewCell 类中调用 segue?

如果我尝试

self.performSegueWithIdentifier("PlayLoad", sender: self)

我得到了错误 "'AddNew_Dae_Cell' 没有名为 'performSegueWithIdentifier' 的成员

谢谢

【问题讨论】:

    标签: tableview segue uipopovercontroller tableviewcell


    【解决方案1】:

    - performSegueWithIdentifier:sender: 是 UIViewController 上的方法,而不是 UITableViewCell。要检测对特定单元格的点击,您最好使用 UITableViewDelegate 在- tableView:didSelectRowAtIndexPath: 上收到通知,然后在控制器中执行 segue。在您的实现中,您只需检查所选单元格以查看它是否属于特定类型,并根据该类型调用该特定 segue。

    【讨论】:

    • 嗨,我厌倦了,但是如果用户选择 tableviewcell tableView:didSelectRowAtIndexPath: 中的文本字段,它不会被调用,它只是加载键盘等
    • 您必须设置 UITextFieldDelegate 协议来监听对文本字段所做的更改。同样,您可以将您的控制器作为委托,并使用 UITableView 的 -indexPathForRowAtPoint: 之类的内容解析执行编辑的行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多