在tableView中改组单元格

时间:2012-11-05 05:52:07

标签: iphone objective-c ios xcode

我发布此问题以获取有关问题的建议。仅供参考......我尝试过方法1和方法2,但我对编程(以及部分用户体验)方面的结果不满意。

我有一个有2个部分的表。每个部分有4个单元格。每个单元格都包含一个textField。当用户按下Edit按钮(位于navigationBar上)时,用户可以改变单元格的位置,即 - 他/她可以将单元格从一个部分移动到另一个部分。简单!

到目前为止,我一直在考虑三种方法。

  1. 在每个单元格中包含UIButton个对象。该按钮可以具有+或 - 的图像。 - 将细胞从第二部分移动到第一部分,+将细胞从第一部分移动到第二部分。但是一旦做出改变,按钮的图像应该从+变为 - 或反之亦然。但我意识到我无法以编程方式更改按钮的图像。所以我必须为每个单元格制作两组按钮=> 16个按钮+ 16个按钮@property可将hiddenYES更改为NO对面。我个人认为这不是最好的方法。更糟糕的是,我必须跟踪单元格从一个部分转换到另一个部分时应该出现的索引。

  2. 在第1部分和第2部分中有8个单元格。第二部分的4个单元格在第一部分中显示为隐藏,反之亦然。当用户在一个部分A中按+时,其属性应设置为隐藏在部分A中,并且应该在部分B中可见。但是,当单元格的属性设置为隐藏时,会在其位置创建一个void十分难看。有没有办法填补空白?此外,如果我使用分组单元格,则截面末尾的剩余单元格将不会有圆角底。

  3. 用户可以将单元格从一个部分拖到另一个部分。 (仅供参考..拖动由三条水平线表示。)问题:拖动功能有多受欢迎?用户是否会在没有应用建议的情况下对其进行解释?如果这是最好的方法,我该如何实现呢?

  4. 如果你能帮助我选择最好的选择,我会很高兴。

    谢谢!

    干杯!

    修改1:

    如果有三个部分,是否可以更改/移动2到3之间的字段,而不对第1部分进行任何更改?

1 个答案:

答案 0 :(得分:0)

选项3是标准方法,已由UITableView及其数据源和委托方法实现。用户习惯使用此标准接口。

您需要做的就是实现适当的数据源和委托移动行所涉及的方法 - 总共三个。

如果您对实现这三种方法有任何疑问,请参阅适用于iOS的表视图编程指南