2014-11-05 1 views
3

이전 iOS 버전에서는 QLPreviewController를 하위 뷰로 추가했습니다. 내 응용 프로그램 헤더와 탐색 모음을 사용하는 것이 매우 편리하지만 iOS 8에서는 헤더 바로 아래에 공백이 추가됩니다. 자체 네비게이터 바를위한 공간입니다.객관적인 C - iOS8에서 서브 뷰로 QLPreviewController를 추가하는 방법

QLPreviewController *previewController = [[QLPreviewController alloc] init]; 
previewController.dataSource = self; 
previewController.delegate = self; 
previewController.currentPreviewItemIndex = 0; 
previewController.view.frame = CGRectMake(0, 0, self.containerView.frame.size.width, self.containerView.frame.size.height); 
[self addChildViewController:previewController]; 
[previewController didMoveToParentViewController:self]; 
[self.containerView addSubview:previewController.view]; 

어떻게 내가 iOS7에의 funcionality을 mantain 수 있습니다 :이 코드를 사용 screenshot which shows the white bar

:

당신은 첨부 된 IMG를 볼 수 있습니까? 난 단지

감사

답변

0

나는 똑같은 문제를 해결하고있어 내비게이션 바 qlpreviewcontroller을 숨기려. iOs7에 완벽하게 작동

// qlController.view.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds));//self.view.bounds; 
// qlController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

[self addChildViewController:qlController]; 
[self.view addSubview:qlController.view]; 

NSDictionary *bindings = @{@"qlPreviewController": qlController.view}; 
qlController.view.translatesAutoresizingMaskIntoConstraints = NO; 
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[qlPreviewController]|" options:0 metrics:nil views:bindings]]; 
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[qlPreviewController]|" options:0 metrics:nil views:bindings]]; 

[qlController didMoveToParentViewController:self]; 

댓글 라인은 기존 코드 : 내가 지금까지 발견 된 유일한 해결책은 다음과 같다. 주요 아이디어는 스프링과 스트럿을 사용하지 않고 자동 레이아웃을 사용하는 것입니다. 결과는 충분히 좋아 보이지만 여전히 회전에는 몇 가지 문제가 있습니다.

가 작동 좋은 : 아이폰 4S/5/6/6 + iOS7에 세로 + 가로, iOS8의 초상화 아이 패드

나쁜 작품 iOs7,8 세로 + 가로 모든 모델 : 아이폰 4S/5/6/6 + iOS8 landscape : navBar와 content 사이에 간격이 있습니다. 내 코드보다는 애플의 QLPreviewController에 문제가 있다고 생각한다.

+0

마지막으로 나는 UIWebView의 임시 해결 방법으로 사용됩니다. 나는 그것을 좋아하지 않지만 모든 버전에서 작동한다. 게다가 내 응용 프로그램은 autolayout을 사용할 수 없다. iOS 5.1.1이 적용된 구형 iPads를 지원한다. – buttcmd