2010-07-03 6 views
1

저는 UITableView가 있습니다. 내 navbar에 편집 버튼이 있습니다. 특정 조건에 따라 활성화 및 비활성화 할 수 있기를 원합니다. 예를 들어 사용자가 특정 유형의 행 중 마지막 행을 삭제하면 삭제할 행이 더 이상 없기 때문에 편집 버튼이 회색으로 표시됩니다.NavBar 편집 단추 비활성화

내가 지금하는 일은

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

체크 내가이 사용자 만이 삭제할 수 있기 때문에 그것을 할 수있는 가장 합리적인 곳을 보인다 (편집 버튼을 사용하지 않으려면 보는 것입니다 빨간색 삭제 아이콘이있는 행). 그런 다음 전화 번호 :

[self.tableView setEditing:NO animated:NO]; 
[self.navigationItem.leftBarButtonItem setEnabled:NO]; 

수정 버튼을 회색으로 표시합니다. 그것은 작동하지만 편집 버튼의 제목은 여전히 ​​'완료'이며 '편집'되지 않습니다. 또한 사용자가 일부 행을 다시 추가하고 수정 버튼을 다시 활성화해야하는지 확인합니다. 편집 모드가 여전히 예 (즉, 편집 버튼이 다시 활성화되면 파란색으로 표시됨)인지 확인합니다.

어떻게 접근해야합니까?

답변

1

내비게이션 컨트롤러를 사용하고 있습니까? 그렇다면 컨트롤러에서 편집을 설정하십시오 :

[self.navigationController setEditing:NO animated:NO]; 
+0

감사합니다. 매력처럼 작동합니다. – Garry

관련 문제