내비게이션 막대에 뒤로 버튼을 추가하려면 어떻게해야합니까? 관련 질문이 있지만 그 중 아무도 도움이되지 않는다는 것을 알고 있습니다. 스토리 보드를 사용하지 않고 마스터 세부 템플릿으로 시작하지도 않았습니다. 이것을 할 수있는 환경이 있습니까? 또는 코드로 추가합니까? 그렇다면 어떤 코드가 필요합니까? 어떤 도움을 주셔서 감사합니다! 감사!NavigationBar에 Back 단추를 추가하는 방법은 무엇입니까?
답변
navigationController를 올바르게 사용하면 기본적으로 뒤로 버튼이 나타납니다. ViewControllers는해야이
있는 navigationController> FirstViewController> SecondViewController
당신은있는 navigationController을 만들고 루트로 firstVC으로 인스턴스화해야합니다 . firstVC에서 secondVC
을 누를 수 있으며 뒤로 버튼이 나타납니다.
다음은 appDelegate application didFinishLaunchingWithOptions:
에 배치되며 처음에는 firstVC가로드됩니다. 당신이 firstVC.m에 secondVC
을 추진하려는 경우 firstVC 클래스에서 ... 창을 초기화 한 후 다음
UIViewController *firstVC = [[UIViewController alloc] initWithNibName:@"firstVC" bundle:nil];
// any setupup of firstVC
UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:firstVC];
[self.window setRootViewController:navCon];
을이 장소 :
UIViewController *secondVC = [[UIViewController alloc] init];
[self.navigationController pushViewController:secondVC animated:YES];
뒤로 버튼을 명시 적으로 추가 할 필요가 없습니다. 컨트롤러를 UINavigationController에 푸시하면 버튼이 자동으로 추가됩니다. 즉, 다음과 같은 전화 번호입니다.
[navigator pushViewController: controller animated: ...];
은 뒤로 버튼을 만듭니다.
이 말하는과 화면 1 메신저 버튼을 2로 이동하면 화면 2로 이동하고 화면 2에는 뒤로 버튼이 있어야합니다. 그 코드를 어디에 추가합니까? screen1.m 버튼 동작 또는 화면 2의 viewdidload에? –
네비게이션 바를 가지고 있지 않거나 푸시 전환을 사용하지 않았다면 자동으로 뒤로 버튼을 상속받습니다. –
그래서'[navigator pushViewController : controller animated : ...];'에 대해 [self.navigationController pushViewController : menuSesionesController animated : YES];를 대체해야합니까? 저는 navigationcontroller를 사용하지 않고서 스토리 보드없이 사용하는 방법을 모르겠다 고 생각합니다 –
새로운 내가 xib에 탐색 컨트롤러를 추가했지만 여전히 그 나타나지 않는,하지만 내가 그 일을 할 필요가? 표시되지 않음 :/ –
firstVC는 xib와 관련된 것입니다. 네비게이션 컨트롤러 (navCon)는 실제로 보이지 않습니다. 이것은 다른 뷰 콘트롤러가 겹쳐 쌓일 수있는 기반입니다. firstVC가 xib에서 올바르게로드되고 위와 같이 navigationController에 푸시된다면 제대로 표시되어야합니다. 그런 다음 푸시 된 모든 후속 (두 번째, 세 번째) 컨트롤러에는 뒤로 단추가 있습니다. – WCByrne
편집을 확인하고,'initwithnibname'을했는지 확인하십시오. 또한 창을 초기화하기 위해 호출 후 코드를 위와 같이 배치하십시오. – WCByrne