一、
- ( UITableViewCellEditingStyle )tableView:( UITableView *)tableView editingStyleForRowAtIndexPath:( NSIndexPath *)indexPath
{
return 3 ;
}
UITableViewCellEditingStyle = 3 这是一个未公开的方法,上架appstore有可能被拒,企业版的不怕。
二、
- ( void )viewDidLoad {
[ super viewDidLoad ];
dataArray = [[ NSMutableArray alloc ] initWithObjects : @"1" , @"2" , @"3" , @"4" , @"5" ,@"6" , @"7" , @"8" , @"9" , nil ];
deleteDic = [[ NSMutableDictionary alloc ] init ];
rightButton . title = @" 编辑 " ;
}
- ( IBAction )choseData
{
if ([ rightButton . title isEqualToString : @" 编辑 " ]) {
rightButton . title = @" 确定 " ;
self . tableview setEditing : YES animated : YES ];
else {
rightButton . title = @" 编辑 " ;
deleteDic removeAllObjects ];
self . tableview setEditing : NO animated : YES ];
}
- ( IBAction )deleteFuntion{
dataArray removeObjectsInArray :[ deleteDic allKeys ]];
self . tableview deleteRowsAtIndexPaths :[ NSArray arrayWithArray :[ deleteDic allValues ]]withRowAnimation : UITableViewRowAnimationFade ];
deleteDic removeAllObjects ];
}
- ( void )dealloc {
leftButton release ];
rightButton release ];
deleteDic release ];
dataArray release ];
tableview release ];
[ super dealloc ];
}
#pragma mark -
#pragma mark Table view data source
- ( NSInteger )numberOfSectionsInTableView:( UITableView *)tableView {
// Return the number of sections.
return 1 ;
}
- ( NSInteger )tableView:( UITableView *)tableView numberOfRowsInSection:( NSInteger)section {
// Return the number of rows in the section.
return [ dataArray count ];
}
// Customize the appearance of table view cells.
- ( UITableViewCell *)tableView:( UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell" ;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier :CellIdentifier];
if (cell == nil ) {
cell = [[[ UITableViewCell alloc ] initWithStyle : UITableViewCellStyleDefault reuseIdentifier :CellIdentifier] autorelease ];
}
// Configure the cell...
cell. textLabel . text = [ dataArray objectAtIndex :indexPath. row ];
return cell;
}
- ( UITableViewCellEditingStyle )tableView:( UITableView *)tableView editingStyleForRowAtIndexPath:( NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert ;
}
#pragma mark -
#pragma mark Table view delegate
- ( void )tableView:( UITableView *)tableView didSelectRowAtIndexPath:( NSIndexPath*)indexPath {
if ([ rightButton . title isEqualToString : @" 确定 " ]) {
[ deleteDic setObject :indexPath forKey :[ dataArray objectAtIndex :indexPath. row ]];
else {
}
- ( void )tableView:( UITableView *)tableView didDeselectRowAtIndexPath:( NSIndexPath*)indexPath{
if ([ rightButton . title isEqualToString : @" 确定 " ])
{
deleteDic removeObjectForKey :[ dataArray objectAtIndex :indexPath. row ]];
}
@end