2009-09-10 3 views
2

내 컨트롤러는 'editButtonItem'에 할당 된 왼쪽 버튼을 사용하여 UITableViewController에서 상속받습니다. 사용자가 원하는 모든 삭제 항목을 발행 한 후 "완료"버튼을 눌렀을 때 어떻게 알 수 있습니까?tableView의 commitEditingStyle 및 '완료'버튼을 누를 때 알기

self.navigationItem.leftBarButtonItem = self.editButtonItem; 

나는이와

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 

을 구현있어 삭제는 테이블의 각 항목에 대한 발생할 때 나는 볼 수 있지만 나는 또한 "완료"버튼을 누르 때 알고 싶습니다. 편집이 종료 할 때

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 

이 나에게 말할 것이다 :

답변

3

내가 오버라이드 (override) 할 필요가 밝혀졌습니다.

+0

덮어 쓰기 코드에서 부모님의 같은 방법을 먼저 사용해야합니까? –

0

또한 편집으로 사용자 정의 UIBarButtonItem을 사용할 수 있습니다 : 당신이 편집 버튼의 캡션의 제어를

editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit" 
    style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEditing)]; 
editButton.possibleTitles = [NSSet setWithObjects:@"Edit", @"Save", nil]; 
self.navigationItem.leftBarButtonItem = editButton; 
isEdit = YES; // class level flag 

- (void)toggleEditing { 
    if (isEdit) { 
    isEdit = NO; 
    editButton.text = @"Save"; 
    ... 

    } 
    else { 
    isEdit = YES; 
    editButton.text = @"Save"; 
    ... 
    } 
} 

이런 식으로하고 "저장"로 변경하는 대신 당신이 경우 취소 "완료" 버튼을 클릭합니다.

관련 문제