Die UIDocumentInteractionController
scheint Probleme bei der Interaktion mit der neuen iOS 7-Statusleiste, insbesondere im Querformat, zu haben. Der Code, den ich zur sofortigen Anzeige des Viewers habe:Document Interaction Controller mit iOS 7 Statusleiste?
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"example" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:filePath];
UIDocumentInteractionController *pdfViewer = [UIDocumentInteractionController interactionControllerWithURL:url];
[pdfViewer setDelegate:self];
[pdfViewer presentPreviewAnimated:YES];
}
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
{
return self;
}
- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller
{
return self.view;
}
Wenn der Interaktionskontroller zum ersten Mal erscheint, überlappt die Statusleiste den Titel.
auf der anderen Seite zu Landschaft Rotierende behebt das Verhalten vorübergehend.
Wie auf dem Dokument erwartet Klopfen selbst den Rahmen ermöglicht entlässt. Sobald das Dokument jedoch einmal mehr betätigt wird, um den Rahmen zu aktivieren, tritt die Überlappung wieder auf wie beim ersten Bild.
Ich habe versucht, documentInteractionControllerRectForPreview
vergebens.
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller
{
return CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height);
}
Ich möchte nicht auf die Statusleiste auszublenden, wenn die Interaktion Controller aufgeht und ich nehme an, es möglich ist, diese richtig zu tun, da die Mail-App korrekt verhält und es sieht aus wie es die gleiche Klasse verwendet.
Ein minimales Beispielprojekt für jedermann angebracht, die mit dem Code spielen wollen: https://hostr.co/PiluL1VSToVt
Ist es ein Fehler in iOS 7? Gibt es neue Lösungen? Ich habe den gleichen Weg benutzt, um das Problem zu lösen, aber es verursachte einen weiteren Fehler in meiner Anwendung. – GxocT