2010-05-12 103 views
1

我有一个分组的tableview。每个部分有三排。我需要能够一次删除一个部分。使用标准编辑模式,我可以使其工作。但是,删除图标显示在每个单元格的左侧,而不仅仅是每个部分的第一行。编辑模式删除特定TableView行的微调器图标

有没有办法抑制除第一行以外的所有行的微调图标?

我希望有一个简单的方法来做到这一点,而不需要子类化。

下面是截图,以帮助它想象:http://picasaweb.google.com/lh/photo/ll-EJY5ACw7oqHH1xKBQ8w?feat=directlink

回答

0

不用删除行,使包含UILabel和定制UIButton作为子视图父UIView。将此父视图设置为section header view

此按钮应进行布线,以触发通过删除行,例如一种方法,翻转一个BOOL状态标志用于部分,然后重新加载表:

- (void) deleteMySection:(id)sender { 
    self.showMySection = NO; 
    [tableView reloadData]; 
} 

-numberOfSectionsInTableView:委托方法将相应地调整它的输出取决于这个布尔标志的状态,例如

- (NSInteger) numberOfSectionsInTableView:(UITableView *)tv { 
    return ((showMySection) ? numberOfSections : numberOfSections - 1); 
} 
1

试试这个:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if(indexPath.row == 0) { 
     return UITableViewCellEditingStyleDelete; 
    } else { 
     return UITableViewCellEditingStyleNone; 
    } 
}