2012-08-25 3 views
2

저는 실제 백 버튼과 똑같이 작동하는 맞춤형 뒤로 버튼을 만들고 있습니다.맞춤형 백 버튼은 실제 백 버튼처럼 작동합니다. xcode

-(void)clickBack{ 
PrevPage *pPage = [[PrevPage alloc] init]; 
[self.navigationController pushViewController:pPage animated:YES]; 
[pPage release]; 
} 

실제로, 그것은 작동하지만이 생성 방향이 오른쪽에서 왼쪽 아래에 내 코드

여기
UIButton *cusBack = [UIButton buttonWithType:101]; 
[cusBack setTitle:@"Back" forState:UIControlStateNormal]; 
[cusBack addTarget:self action:@selector(clickBack) forControlEvents:UIControlEventTouchUpInside]; 

self.view addSubView:cusBack; 

내 선택이입니다. 하지만 최근 페이지로 돌아가므로 페이지가 왼쪽에서 오른쪽으로 이동하고 싶습니다.

감사합니다.

답변

0

당신이 다른 접근 시도해야 뒤로 버튼과 같은 행동을 갖고 싶어 : 이전 뷰 컨트롤러의 일부를 변경해야 할 경우, 또한

-(void)clickBack{   //Your presenting view controller will always be the last view controller on the stack.     
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-1] animated:YES]; 
} 

을, 당신이 할 필요가있다 헤더 파일을 가져온 다음보기 컨트롤러를 팝업하기 전에 속성과 public 메소드를 사용할 수 있습니다. 실제 뒤로 버튼처럼

#import "MyPreviousViewController.h" 
... 
-(void)clickBack{ 
[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-1].title = @"Change title for previous view controller"; 
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-1] animated:YES]; 
} 

현재, 뒤로 버튼이 있기 때문에, 대신에, 당신이 실제로 새로운 뷰 컨트롤러를 계속 밀고 (또한 객체를 해제) 스택에서 마지막 뷰 컨트롤러 터지는의 작동하지 않습니다 스택 이 스택이 너무 커지면 몇 가지 문제가 발생할 수 있습니다.

관련 문제