2012-03-15 2 views
2

다른 요소 외에도 UITableView를 자식으로 갖는 UIViewController가 있습니다. 나는이 단순한 라인이있는 tableView에 편집 지원을 추가하려면 : 내가있는 UITableViewController보기 유형에이 설정하지만, 분명히 그있는 tableView의 파단되어 있는지에 작동하지 않을 경우iOS에서 하위보기 인 UITableView에서 수정 단추를 설정하는 방법

self.navigationItem.rightBarButtonItem = self.editButtonItem; 

의미가 있습니다. 실제로는 편집 버튼을 보여 주지만 편집 작업은 실행되지 않습니다.

어쨌든 우아한 해결책이 없다면 간단히 사용자 정의 편집 버튼을 구현할 것입니다.

감사합니다.

답변

1

방금 ​​해결책을 찾았습니다. 그런 self.myTableViewController.editButtonItem으로 self.editButtonItem 교체 :

self.navigationItem.rightBarButtonItem = self.myTableViewController.editButtonItem; 

그것은 마법처럼 작동합니다. 더 간단 할 수 있을까요? :)

0

self.navigationItem.leftBarButtonItem = self.editButtonItem;

+0

-하지 않는 솔루션입니다. –

3
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.title = @"My View Controller"; 
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonSelected:)] autorelease]; 

} 

- (void) editButtonSelected: (id) sender 
{ 
    if (tableView1.editing) { 
     self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonSelected:)] autorelease]; 
     [self.tableView1 setEditing:NO animated:YES]; 
    } else { 
     self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(editButtonSelected:)] autorelease]; 
     [self.tableView1 setEditing:YES animated:YES]; 

    } 

} 
2

당신은 setEditing를 구현할 필요가 : 자신을 애니메이션 :

이미 무슨 짓을했는지
- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
{ 
    [self.tableView setEditing:editing animated:animated]; 
    [super setEditing:editing animated:animated]; 
}