UINavigationController 기반 iPhone 앱에서 메서드에서 뒤로 버튼을 누르고 뷰로 돌아가는 것과 같은 프로그래밍 방식을 수행하고 싶습니다.
즉, 여기에 표시된대로 작업 버튼을 자동으로 누릅니다.
일반 iOS 전화를 걸 수 있습니까? 아니면 추가 정보가 필요합니까?
답변:
UINavigationController
의 -popViewControllerAnimated:
메서드는 원하는 작업을 수행해야합니다.
[navigationController popViewControllerAnimated:YES];
[self.navigationController popViewControllerAnimated:YES];
했지만 아무 작업도 수행하지 않지만 작동중인 해당 버튼에 대한 경고가 표시됩니다.
스위프트 3.0
루트보기로 돌아 가기
self.navigationController?.popToRootViewController(animated: true)
이전보기로 돌아 가기
self.navigationController?.popViewController(animated: true)
스위프트 2.3
루트보기로 돌아 가기
self.navigationController?.popToRootViewControllerAnimated(true)
이전보기로 돌아 가기
self.navigationController?.popViewControllerAnimated(true)
[self.navigationController popViewControllerAnimates:YES];
가장 좋은 옵션이지만 동일한 뷰 컨트롤러 클래스에 있지 않거나 뒤로 버튼 메서드가 호출되기 전에 델리게이트가 변경되면 시도 할 수도 있습니다.
먼저 뒤로 버튼을 정의해야합니다.
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"anyTitleForBackButton" style: UIBarButtonItemStyleBordered target: nil action: @selector(backButtonTapped)];
[[self navigationItem] setBackBarButtonItem: newBackButton];
[newBackButton release];
그런 다음 backButtonTapped 메서드에서 호출 할 수 있습니다.
[self.navigationController pushViewController:desiredViewController animated:YES];