【问题标题】:Handling buttons within UITableViewCells处理 UITableViewCells 中的按钮
【发布时间】:2013-04-02 22:42:51
【问题描述】:

我有一个 UITableView 从笔尖加载单元格。在每个表格视图单元格上,有两个按钮。当点击按钮时,我需要更新包含表格视图的视图中的其他字段。

过去我在表格视图单元格上使用了一个委托来回调视图控制器,告诉它哪个按钮被点击并使用单元格上的标签来查找单元格的索引。我目前面临的问题是,这种行为发生在我的应用程序的多个地方,并且到处的委托模式可能会很快变得混乱。

当点击特定单元格上的按钮时,是否有更好的方法向 tableview 的父视图控制器发送消息?我需要知道点击了哪个单元格以及点击了单元格上的哪个按钮。

【问题讨论】:

    标签: iphone ios ipad uitableview


    【解决方案1】:

    是的,更好的方法是让你的控制器成为按钮动作方法的目标。您仍然需要使用标签来获取按钮所在单元格的索引路径。您可以在 IB 或 cellForRowAtIndexPath 中连接 action 方法。

    【讨论】:

    • 这是理想情况下我想做的,但目前,单元格不知道持有该单元格的表格视图的视图控制器。这是问题的症结所在,链去视图控制器 -> 表格视图 -> 单元格 -> 按钮,我需要按钮将消息一路返回到视图控制器,但是没有引用链来跟踪所有接近 VC
    • 我建议你去掉笔尖,直接在情节提要中制作单元格。在那里,您可以将您在视图控制器中创建的 IBAction 连接到单元格中的按钮。你有什么理由不能这样做吗?
    • @skladek,如果您的单元格很复杂,您可以将其从笔尖复制并粘贴到情节提要中,这样您就不必重新制作了。
    • 我明白你在说什么,我想我以前从未考虑过走那条路。我总是从带有自己的支持类的单独笔尖加载。我会试试这条路线。谢谢!
    • @skladek,我不知道既然我们有了故事板,你为什么还要使用 nib。我真的没有看到任何你可以在笔尖中做的事情,而你在故事板中做的同样好(而且更方便)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2021-10-22
    • 2011-11-02
    • 2012-04-12
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    相关资源
    最近更新 更多