我有一个带有自定义UITableViewCells的UITableView。
该表有两个部分,第一部分有一行带有UITextField,只能根据文本进行编辑。本节&无法从UITableView透视图
第二部分是从NSArray生成的单元格列表。这些单元格再次是由两个UITextField组成的自定义UITableViewCells。从用户可以删除和插入行的意义上来说,可以从UITableView透视图编辑这些单元格。
在我指定的初始值设定项中,我指定了self.tableView.editing = YES
,我也实现了方法canEditRowAtIndexPath
以返回YES。
问题陈述
表格视图不会进入编辑模式。我没有看到删除按钮或插入第2节行的按钮。我缺少什么?
答案 0 :(得分:6)
只是一个建议,检查您的控制器是否符合这些要求:
我使用通常的UIViewController,它工作正常 - 你需要:
一段代码:)
- (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>
利润!
答案 1 :(得分:1)
如果您执行[self tableView setEditing:YES animated:YES];
而不是self.tableView.editing = YES;
怎么办?