UITableView,自定义单元格未进入编辑模式

Chi*_*Sky 6 uitableview ios

我有一个UITableView与自定义UITableViewCells.

  1. 该表有两个部分,第一部分有一行带有UITextField,只能根据文本进行编辑.无法从UITableView透视图编辑此部分和行

  2. 第二部分是从NSArray生成的单元格列表.这些单元格再次是由两个UITextField组成的自定义UITableViewCells.在用户可以删除和插入行的意义上,可以从UITableView透视图编辑这些单元格.

  3. 在我指定的指定初始化程序中self.tableView.editing = YES,我也实现了canEditRowAtIndexPath返回YES 的方法.

问题陈述

表格视图不会进入编辑模式.我没有看到删除按钮或插入第2节行的按钮.我缺少什么?

Ano*_*ous 6

只是一个建议,检查您的控制器是否符合这些要求:

我使用通常的UIViewController,它工作正常 - 你需要:

  1. 使您的控制器成为UITableViewDelegate,UITableViewDataSource的委托
  2. 实现 - (void)setEditing:(BOOL)编辑动画:(BOOL)动画
  3. 以编程方式添加EDIT按钮 - self.navigationItem.rightBarButtonItem = self.editButtonItem(如果您从构建器添加EDIT按钮,则需要手动调用setEditing:YES)

一段代码:)

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    return UITableViewCellEditingStyleDelete;
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
{
    [super setEditing:editing animated:animated];
    [self.tableView setEditing:editing animated:YES];
}

- (void)tableView 
    :(UITableView *)tableView didSelectRowAtIndexPath 
    :(NSIndexPath *)indexPath
{
    [self.tableView deselectRowAtIndexPath:indexPath animated:NO];
    [self.navigationController popViewControllerAnimated:YES];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

// do not forget interface in header file

@interface ContactsController : ViewController<
    UITableViewDelegate,
    UITableViewDataSource>
Run Code Online (Sandbox Code Playgroud)

利润!