2010-01-20 54 views
8

我正在寫一個IPhone IM聊天窗口。當editButtonItem點擊,沒有紅色刪除圖標顯示

您知道如果UITableviewController中的nagviationItem.rightBarItem設置爲editButtonItem,則單擊編輯按鈕,然後每個單行顯示一個紅色刪除圖標like shown here

的問題是,我不是一個UITableViewController一個UIViewController:

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

}

和我做同樣的設置editButtonItem:

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

}

時我點擊編輯按鈕,red delete icon will not show

如何使我的ChatUIViewController中顯示的紅色刪除圖標?

在此先感謝任何可能幫助的人。 邁克爾

回答

39

添加下面的方法到你的表視圖委託類:

- (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) 
    } 
} 
+0

謝謝數不勝數,它的工作完美。 解決方案帶來另一個問題: 爲什麼上面的代碼在UITableViewController類的類中不需要,但是在UIViewController的子類中需要上述代碼? 我的直覺告訴我UITableViewController類調用setEditing:animated:底層。 – 2010-01-20 20:34:05

+1

我的意見是,表格視圖不一定是唯一可編輯的視圖。通過使它成爲視圖控制器的一部分,可以將可編輯調用傳遞給任何子視圖(如表視圖)。 – 2010-01-20 21:29:58

+0

有意義。非常感謝。 :) – 2010-01-22 00:37:14

相關問題