2010-05-12 105 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; 
    } 
}