2012-03-01 2 views
0

"완료"버튼이있는 내비게이션 컨트롤러가 있습니다. 사용자가 양식을 마치면 "완료"를 누르면 해당보기가 스택에서 튀어 나오고 주 메뉴에서 다시 표시됩니다.UIBarButtonItem - "완료"버튼을 어떻게 만듭니 까?

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
                    style:UIBarButtonItemStylePlain 
                   target:self 
                   action:[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES]];   
self.navigationItem.rightBarButtonItem = anotherButton; 

이 도와주세요 :

여기에 지금까지 가지고 코드입니다!

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
                   style:UIBarButtonItemStylePlain 
                   target:self 
                   action:@selector(onClickOfDone);   
self.navigationItem.rightBarButtonItem = anotherButton; 

당신의 팝업이 하나의 레벨은 다시 위의 코드의 경우 이제 onClickOfDone

- (void)onClickOfDone { 
[self.navigationController popViewControllerAnimated:YES]; 
} 

라는 이름의 방법에 popViewController 로직을 작성 :이 시도에 대해 어떻게 당신에게

답변

1

1) self에 해당하는 클래스의 새 메서드를 정의합니다.

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
                   style:UIBarButtonItemStylePlain 
                  target:self 
                  action:@selector(closeView)];   
self.navigationItem.rightBarButtonItem = anotherButton; 
[anotherButton release]; // and don't forget to clear memory 
+0

고마워요! 나는 그 기억 방출을 너무 놓쳤다. – jbearden

+0

감사합니다 .Nekto ... 그 사람이 나를 도왔습니다! –

3

감사 도움이 될 것이다. 당신이 컨트롤러에서 지정할하려면이 팝업이있는에가, 당신이 사용할 수있는하는

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES] 

편집 : 당신은 또한 완료를 위해 SystemItem을 사용할 수

:

UIBarButtonItem *aDoneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
                      target:self action:@selector(onClickOfDone)]; 
self.navigationItem.rightBarButtonItem = aDoneButton; 
[aDoneButton release]; 
+0

Ahh @selector() 나를 다 망 쳤어! 고맙습니다!! – jbearden

+0

다행이 당신을 도왔습니다 :) – Roshit

0

귀하의 코드는 하나 개의 기능을하고 그 함수 내부의 코드 터지는 쓰기 올바른지, 다음에 @selector을 사용하여 해당 함수를 호출하여 버튼을 만들 때 이리저리 예는,

- (void)closeView 
{ 
    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES]; 
} 

2) 적절한 선택을 설정 동작.

관련 문제