【问题标题】:editing style for custom UITableViewCell自定义 UITableViewCell 的编辑样式
【发布时间】:2010-01-12 03:00:34
【问题描述】:

如何设置自定义 UItableviewcell 的编辑样式,如此图像。

这是购物车视图,所以我会有很多 UITableViewCell,在其他字段中只有 Qty 字段可以编辑。 谢谢

【问题讨论】:

    标签: iphone uitableview editing


    【解决方案1】:

    上面的单元格看起来像一个自定义按钮。您可以做的是在 UITableViewCell 的子类中添加两个 UIButton,以及一个 UITextField,并添加用于单击 UIButton 以更新数量的事件处理代码。由于您可以为 UIButtons 使用图像,因此实现上述外观应该不难。

    【讨论】:

    • 我现在遇到的问题是,这个按钮应该只在编辑模式下可见吗?如何在编辑模式下获取自定义单元格?
    • 当表格设置为编辑模式时,所有 UITableViewCells 都会调用 [setEditing:animated:]。使用该方法显示/隐藏相应的 UI 控件。
    • 感谢 futureelite7,这就是我正在做的事情。在 [setEditing] 方法中,我再次调用 [tableview reloaddata] 并在 [cellforrowatindexpath] 方法中检查(self.editing)。如果它的编辑然后从NIB加载可编辑的单元格。这是正确的方法吗,另一件事是如何从单元格中捕获事件并确定单击了哪个按钮以及要更新哪个文本字段。
    【解决方案2】:

    我想出了一些方法,我不知道它是正确的方法,但它对我有用,但仍在等待最正确的方法。这就是我所做的,

    1) 我在 EditCellView(UITableviewcell 的子类)中为我的 UIButton 创建了一个 IBOutlat
    2) 然后我在我的 tableviewcontroller 中创建 IBAction
    3) 然后我将事件中的 UIButton Touch 设置为 tableviewcontroller 中的 IBAction
    4) 在 IBaction 方法中,您可以使用此代码获取该单元格

    EditItemController *cell =  (EditItemController *)[[sender superview] superview];
    NSIndexPath *indexPath = [self.maintable indexPathForCell:cell];
    

    这行代码可能取决于你的视图布局

    [[sender superview] superview]
    

    要获得正确的超级视图,您可以在 gdb 中使用以下命令

    gdb>po [[sender superview] superview]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多