0

在我的UITableview我有用户删除行的选项,我已经这样做了,但是在这里我需要添加一个带有DELETE按钮的EDIT按钮,如图所示, 在此处输入图像描述

另外,当用户单击编辑时,我想允许用户编辑ROW TEXT .. 是否可能..?请帮忙。

4

3 回答 3

1

首先,您应该问自己是否真的需要那个编辑按钮。

用户已经告诉你他想通过点击 tableView 的编辑按钮来编辑 tableView。在我看来,绝对不需要另一个编辑按钮,用户会假设他在编辑模式下所做的一切都会编辑数据。

有两种选择:

  1. 当用户在编辑模式下点击单元格时,将编辑放在您推送的另一个视图控制器中。
    为此,您必须将editingAccessoryType单元格的 设置为UITableViewCellAccessoryDisclosureIndicator,以指示可以选择该单元格。
    并且allowsSelectionDuringEditingtableView 必须设置为 YES。
    其他一切就像在不编辑时处理行选择一样。只需[tableView isEditing]tableView:didSelectRowAtIndexPath:.

  2. 将单元格的 UILabel 替换为 UITextField,borderStyleUITextBorderStyleNone字体与 UILabel 相同。设置enabled为否。这样它看起来就像一个 UILabel。
    实现setEditing:animated:UITableViewController 以在编辑模式下启用每个 textField

    - (void)setEditing:(BOOL)editing animated:(BOOL)animated {
        [super setEditing:editing animated:animated];
        for (UITableViewCell *cell in [self.tableView visibleCells]) {
            UITextField *tf = ...
            tf.enabled = editing;
        }
    }
    

    当用户在编辑模式下点击 UITextField 时,他可以输入文本。


如果您确实需要该编辑按钮,请在- (void)setEditing:(BOOL)editing animated:(BOOL)animated编辑为“是”时添加它,并在编辑为“否”时将其删除。我不会添加和删除它,而是使用setHidden:

于 2013-01-07T07:15:26.927 回答
0

对的,这是可能的。您必须使用UITextField来显示文本。当用户单击编辑按钮时,您必须保存按钮的标签。保存此标记,以便您知道单击了哪一行。然后重新加载表。重新加载表格时,请确保将特定行的userInterActionEnabled属性设置为 true。UITextField它将允许用户编辑文本。

于 2013-01-07T06:12:46.857 回答
0

创建自定义单元格并添加您的UIButtonsandUITextField并实现一些逻辑。只需从下面的链接中参考教程。

对于自定义单元格,只需查看以下带有教程和演示的链接:

  1. ipad 编程中的自定义表格视图单元格
  2. 创建自定义表视图单元
  3. IB中的自定义UITableViewCell
于 2013-01-07T06:25:43.033 回答