좋아, 나는 더러운 해결책을 발견하지만, 그 문제를 해결했습니다. 다음 구성이 있습니다. NavigationController -> UIViewController - [Modal] -> UINavigationController -> UIViewController1 - [Push] -> UIViewController2 (위의 스크린 샷 확인)
이제 ModalView의 크기를 조정하는 것이 좋습니다 (가로 모드를 강제하므로 세로가 지원되지 않지만 코드를 쉽게 수정할 수 있음). 유용한 메서드가 포함 된 singletton 클래스가 있는데 AppKit이라고 부릅니다. AppKit.m에서 : 당신이 그것을 넣어 그래서 내 서브 viewcontrollers에서 지금
#pragma mark - Window functions (modal, ...)
/**
* Cette méthode redimmensionne une modal view en type PaperSheet.
* Utilisé dans le viewDidAppear du controller enfant.
* Permet de mettre des modal view en fullscreen.
*
* @param id viewController Le viewController parent
*/
- (void)resizeModalToPaperSheet:(id) viewController {
// Adaptation de la taille de la fenêtre pour iPad
if (isIPad) {
[viewController navigationController].view.superview.center = CGPointMake(0.0f, 0.0f);
[viewController navigationController].view.superview.frame = CGRectMake(84.0f, 242.0f, 540.0f, 540.0f);
}
}
/**
* Cette méthode redimmensionne une modal view en type FullScreen.
* Utilisé dans le viewDidAppear du controller enfant.
* Permet de mettre des modal view en fullscreen.
*
* @param id viewController Le viewController parent
*/
- (void)resizeModalToFullScreen:(id) viewController {
// Adaptation de la taille de la fenêtre pour iPad
if (isIPad) {
[viewController navigationController].view.superview.center = CGPointMake(0.0f, 0.0f);
[viewController navigationController].view.superview.frame = CGRectMake(20.0f, 0.0f, 754.0f, 1024.0f);
}
}
난 당신이 다시 modalview의 크기가 이전의 컨트롤러로부터 위해서 (때문에) 유지되고 누를 때 방법을 두 번 (다른 호출해야 viewDidAppear에서).
의 ViewController 1 (PaperSheet 크기) :
-(void) viewWillAppear:(BOOL)animated {
[[AppKit sharedInstance] resizeModalToPaperSheet: self];
}
-(void) viewDidAppear:(BOOL)animated {
[[AppKit sharedInstance] resizeModalToPaperSheet: self];
}
의 ViewController 1 (전체 화면 크기) :
-(void) viewWillAppear:(BOOL)animated {
[[AppKit sharedInstance] resizeModalToFullScreen: self];
}
-(void) viewDidAppear:(BOOL)animated {
[[AppKit sharedInstance] resizeModalToFullScreen: self];
}
그리고 그것은 꽤 잘 작동합니다 전체 화면과 PaperSheet간에 쉽게 전환 할 수 있습니다. 이제 문제가 하나 남아 있습니다. 스토리 보드에서보기는 여전히 작으며 내부에 물건을 추가하는 것은 쉽지 않습니다. 그래서 당신이해야 할 : 스토리 보드에서 1 /를 작은 (상자 아이콘)에있는 뷰 컨트롤러 속성 패널에서 2/클릭이 어떤 도움이 아이 패드 전체 화면
희망의 크기를 설정 코드를 개선하는 방법에 대한 의견은 환영합니다 :)