我在我的應用程序的導航欄中添加了一個編輯按鈕。UIViewController編輯按鈕狀態總是相同
我有一個UIViewController實現UITableViewDataSource和UITableViewDelegate。
我使用故事板添加了UITableView,並建立了與數據源和委託的連接。
我不喜歡這樣的視圖控制器的實現文件:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
[self.editButtonItem setAction:@selector(setEditing:animated:)];
和
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
DLog(@"Editing = %d", editing)
NSLog(editing ? @"Yes" : @"No");
[self.recentSearchList setEditing:editing animated:YES];
}
的問題是,每當我在編輯按鈕點擊,布爾變量「編輯」始終是「是」。首先它將UITableView設置爲編輯模式,但編輯按鈕仍然顯示「編輯」標籤而不是「完成」。並且由於該參數始終爲YES,因此表視圖從不設置爲普通模式。
我從答案在這裏讀到:UITableView in edit mode - 'Edit' button doesn't change status
我假設的編輯按鈕應該改變攻其狀態本身。重寫的方法中的參數也應該切換。
我可以編寫自己的代碼在UIViewController中設置標誌來檢查模式並相應地切換tableView,但我假設必須有其他方式。