Search code examples
iphonerightbarbuttonitem

when editButtonItem clicked, no red delete icon shows


I am writing an IPhone IM chat window now.

You know if the nagviationItem.rightBarItem in an UITableviewController is set to editButtonItem, you click the edit button then a red delete icon is shown to every single row, like shown here.

The problem is, I have a UIViewController instead of a UITableViewController:

@interface ChatUIViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>{
    UITableView *table;
    UITextField *textField;

}

and i did same to set editButtonItem:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationItem.rightBarButtonItem = self.editButtonItem;

}

when i click the edit button, the red delete icon will not show.

How can I make the red delete icon shown in my ChatUIViewController?

Thanks in advance to anyone who might help. Michael


Solution

  • Add the following method to your table view delegate class:

    - (void) setEditing:(BOOL)editing animated:(BOOL)animated {
        [super setEditing:editing animated:animated];
        [self.tableView setEditing:editing animated:animated];
        if (editing) {
            // you might disable other widgets here... (optional)
        } else {
            // re-enable disabled widgets (optional)
        }
    }