First, create two properties on your class for your two UIBarButtonItem
s.
@property (nonatomic, retain) UIBarButtonItem *editButton;
@property (nonatomic, retain) UIBarButtonItem *doneButton;
– (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
UIButton *editBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[editBtn setImage:[UIImage imageNamed:@”edit.png”] forState:UIControlStateNormal];
[editBtn setFrame:CGRectMake(3, 5, 30, 30)];
[editBtn addTarget:self action:@selector(editButtonPressed) forControlEvents:UIControlEventTouchUpInside];
editButton = [[UIBarButtonItem alloc] initWithCustomView:editBtn];
UIButton *doneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[doneBtn setImage:[UIImage imageNamed:@”done.png”] forState:UIControlStateNormal];
[doneBtn setFrame:CGRectMake(3, 5, 30, 30)];
[doneBtn addTarget:self action:@selector(doneButtonPressed) forControlEvents:UIControlEventTouchUpInside];
doneButton = [[UIBarButtonItem alloc] initWithCustomView:doneBtn];
[self.navigationItem setRightBarButtonItem:self.leftBarButtonItem animated:YES];
}
return self;
}
- (UIBarButtonItem *)leftBarButtonItem
{
if (self.tableView.editing)
return self.doneButton;
return self.editButton;
}
– (void)editButtonPressed
{
self.StoreTblView.editing = TRUE;
[self.navigationItem setRightBarButtonItem:self.leftBarButtonItem animated:YES];
}
– (void)doneButtonPressed
{
self.StoreTblView.editing = FALSE;
[self.navigationItem setRightBarButtonItem:self.leftBarButtonItem animated:YES];
}