2016-10-29 3 views
1

I은 ​​문제가 있다면, 상단 버튼은 자신의 이름을 변경하지 않습니다하지만 당신이 필요로하는 것을 자동으로 수행하는 것 때문에제목 설정 방법 UIBarButtonItem에서 단추 편집 및 완료?

- (IBAction)switchEdit:(UIBarButtonItem *)sender { 
    sender.possibleTitles = [NSSet setWithObjects:@"Edit", @"Done", nil]; 
    if (sender.style == UIBarButtonSystemItemEdit){ 
     sender.style = UIBarButtonSystemItemDone; 
     [self.navigationItem.rightBarButtonItem setTitle:@"Done"]; 
     self.tableView.editing = NO; 
      }else{ 
     sender.style = UIBarButtonSystemItemEdit; 
     [self.navigationItem.rightBarButtonItem setTitle:@"Edit"]; 
     self.tableView.editing = YES; 
    } 
} 

답변

1

UIViewControllereditButtonItem 속성을 사용하여 고려 작동합니다

이를 돌려줍니다 편집 및 완료간에 해당 제목과 관련 상태를 전환하는 바 버튼 항목입니다. 당신이 당신의 접근 방식을 유지하려면

, 그와 같은 속성이 두 버튼을 선언하고, 예를 들어 viewDidLoad에서 그들을 설정할 수 있습니다

@interface ViewController() 

@property (nonatomic, strong) UIBarButtonItem *editBarButtonItem; 
@property (nonatomic, strong) UIBarButtonItem *doneBarButtonItem; 

@end 

다음

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editSelectorName)]; 
    self.doneBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneSelectorName)]; 
} 

을 코드에서 다음을 수행하십시오.

self.navigationItem.rightBarButtonItem = self.editBarButtonItem 

또는

self.navigationItem.rightBarButtonItem = self.doneBarButtonItem