로드 할 때 모든 탭이 잘 작동하는 탭 기반 앱을로드하는 앱이 있습니다. 그러나 첫 번째 탭에는로드 된 뷰에 전체 버튼이 있습니다. 나는이 단추의 메서드를 작성 했으므로 눌렀을 때 새로운 하위 뷰 (.xib)를 누르면 잘 작동합니다.현재 서브 뷰 제거하기
그러나 이러한 새 하위보기에는 고유 한 메서드가있는 뒤로 단추가 있습니다. 이 버튼을 클릭하면보기가 제거되고 원래보기로 돌아갑니다. FirstViewController.m의 코드는 다음과 같습니다.
이 파일은 다른 .xib 파일을 처리하더라도 모든 코드를 보유한다는 점에 유의하십시오. 기본적으로 FirstView를 먼저 푸시하고 버튼을 누를 때 E87view.xib
을 누르면 .xib의 코드가 firstviewcontroller 파일에 그대로 남아 있습니다. 내가 FirstView.xib
이 새보기 E87view.xib
를 밀어 것 장전 첫 번째보기의 버튼 E87을 누르면
-(IBAction) backButtonPressed {
[self showAll];
backButton.hidden = 1;
for (UIView *subview in [self.view subviews]) {
[subview removeFromSuperview];
}
[self showAll];
}
-(IBAction) E87Pressed {
//[self hideAll];
E87view *e87view = [[E87view alloc] initWithNibName:@"E87view" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:e87view animated:YES];
[self.view addSubview:e87view.view];
}
그래서 그냥 반복합니다. 그러나 새로이로드 된
E87view
에있는 뒤로 버튼을 누르면 위의 기능에 액세스하고보기를 제거하지만 내가 가지고 있던 모든 설정을 제거합니다.
FirstView.xib
본질적으로 빈 앱으로 저를 떠납니다.
희망이 있으시면 조금이라도 혼란 스러울 수 있습니다.
감사
루이스
당신이 말하는 텍스트에서 탭 컨트롤러를 사용했다는 것입니다. 코드에서는 네비게이션 컨트롤러를 사용하고 있다고 말합니다. 한 탭에서 탐색 컨트롤러를 사용하고 있습니까, 아니면 탭 컨트롤러가 실수입니까? – Pfitz
아니요 탭이있는 앱이며 위임자는 tabBarController를 가지고 있습니다. –