仅编辑uitableview的一部分

时间:2011-12-11 16:49:03

标签: iphone objective-c ios xcode

我使用以下代码编辑uitableview,但我只想编辑一个部分 - 我应该怎么做?我似乎无法访问下面编辑功能中的“部分”。

在viewDidLoad中:

self.navigationItem.rightBarButtonItem = self.editButtonItem;

编辑功能:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

[super setEditing:editing animated:animated];
[tblSimpleTable setEditing:editing animated:YES];
if (editing) {
     editButton.enabled = NO;
} else {
    editButton.enabled = YES;
}
  }

谢谢。

2 个答案:

答案 0 :(得分:4)

它的逻辑在你的表视图控制器(数据源)的-tableView:canEditRowAtIndexPath:中,如下所示:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Replace 0 with whichever section you want editable
    if (indexPath.section == 0) {
        return YES;
    } else {
        return NO;
    }
}

如果你是UITableViewController的子类,你应该能够在-tableView:cellForRowAtIndexPath:下注释掉的存根方法中找到它。

答案 1 :(得分:0)

-(BOOL)tableView:(UITableView*)tableView canEditRowAtIndexPath:(NSIndexPath*)indexPath {
       if (indexPath.section == <your target section disable>) {
           return YES;
       }
       return NO;
 }
  

你不需要编写else部分,canEditRowAtIndexPath默认返回NO