내가 navController라는 이름의 네비게이션 컨트롤러가있는 viewDidLoad 동안 내 모달 뷰 컨트롤러에서 프로그래밍 방식으로 만든 만든으로 표시되지 바, 내가 IB에서 만든 표준보기. 뭐가 문제 야?탐색 바는 프로그램은 UINavigationController
답변
해결책은 작동하지 않습니다.
ModalViewController
이라는 모달 컨트롤러가 있다고 가정합니다. xib 만든 인터페이스와 연결된 간단한 UIViewController
입니다.
이제는 어떤 경우에 ModalViewController
을 모달로 표시해야합니다. 당신이 당신의 명세서에 쓴 것처럼, 나는 UINavigationController
도 사용하고 탐색 바를 제어하려고한다고 생각합니다.
코드는 다음과 같을 수 있습니다. presentModally
은 ModalViewController
에 포함되지 않은 방법 일 수 있습니다.
- (void)presentModally:(id)sender {
ModalViewController *modalController = [[ModalViewController alloc] initWithNibName:@"ModalView" bundle:nil];
// Create the navigation controller and present it.
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalController];
[self presentViewController:navigationController animated:YES completion: nil];
}
지금의 viewDidLoad
이내에 ModalViewController
이있는 navigationController 속성에 액세스 할 수 있습니다. 이 방법으로 navigationController
동작을 제어 할 수 있습니다. 예를 들어 :
- (void)viewDidLoad
{
[super viewDidLoad];
// the code changes the title for the navigation bar associated with the UINavigationController
self.title = @"Set from ModalViewController";
}
일부 노트
이 UINavigationController
작품 UINavigationController class reference
이 작품은 내가 제공하는 코드는 간단한 예입니다 Modal view controllers documentation
을 읽을 방법 모달 컨트롤러 이해하기 위해 읽어 방법을 이해하고, 실증적 인 것 (필자는 직접 작성하여 구문을 확인했다). 메모리 관리와 모달 컨트롤러를 제시하는 방법에주의를 기울여야합니다. 특히 Apple 설명서에서 알 수 있듯이 모달 컨트롤러를 제공하려면 다음 단계를 따라야합니다.
제시 할보기 컨트롤러를 만듭니다.
보기 컨트롤러의 modalTransitionStyle 속성을 원하는 값으로 설정하십시오.
대리자 개체를보기 컨트롤러에 할당합니다. 일반적으로 위임자는 제시하는 뷰 컨트롤러입니다. 이 델리게이트는 제시된 뷰 컨트롤러가 프리젠 테이션 뷰 컨트롤러에게이를 해제 할 준비가되었음을 알리는 데 사용됩니다. 또한 다른 정보를 대리인에게 전달할 수도 있습니다.
현재보기 컨트롤러의 presentViewController : animated : completion : 메서드를 호출하고 표시 할보기 컨트롤러를 전달합니다.
모달 컨트롤러를 닫으려고 할 때 (필요한 경우) 방아쇠를 당깁니다.
희망이 있습니다.
- 1. uinavigationcontroller 탐색 바 항상 숨김
- 2. 탐색 바는 사용자 역할을 기반으로 탐색 모음을 만드는 방법
- 3. UINavigationController 내의 UINavigationController 내의 UINavigationController
- 4. 위의 브랜딩 막대 UINavigationController 탐색 모음
- 5. 탐색 바는 IE6,7,8에서 잘 표시하지만 9에서 작동하며 모든 다른 브라우저
- 6. 진행 바는
- 7. 처음부터 UINavigationController?
- 8. 버튼이있는 사용자 정의 UINavigationController
- 9. UINavigationController pushViewController
- 10. UINavigationController?
- 11. UINavigationController Stack
- 12. UINavigationController & SplitViewController
- 13. UINavigationController 문제
- 14. CSS3 진행 바는
- 15. 수평 스크롤 바는
- 16. 핸들러가 의미하는 바는 무엇입니까
- 17. 프로그래밍 방식으로 UINavigationController 만들기
- 18. UINavigationController 내부에서 UIPickerImageController를 사용하고 싶습니까?
- 19. UINavigationController 제목 새로 고침
- 20. UITabBarController UINavigationController 디자인 조언
- 21. UINavigationController 제목을 표시하지만보기가 없습니다.
- 22. 아이폰은 UINavigationController 내부의 UIViewController
- 23. 아래쪽에 UINavigationController 디스플레이의 탐색 모음을 만드는 방법은 무엇입니까?
- 24. UINavigationController - 밀어 넣을 때 탐색 막대를 동일하게 유지하십시오.
- 25. UINavigationController 전역 및 프로그래밍 방식으로 탐색 모음 색조 색 변경
- 26. UINavigationController 사용자 지정 popViewControllerAnimated 메서드
- 27. Iphone UINavigationController onchange 이벤트
- 28. 프로그래밍 방식으로 UINavigationController 회전
- 29. iPhone에서 하위보기로 UINavigationController 추가
- 30. 정적 내비게이션 막대가있는 UINavigationController
이것은 매우 혼란스러운 코드입니다.한 컨트롤러의보기를 다른 컨트롤러의보기로 설정할 수 없습니다. 그리고 컨트롤러는 일반적으로 자신의보기가 다른 컨트롤러보기의 하위보기로 추가 될 것으로 기대하지 않습니다. – smparkes