UIWebView rotieren mit Rotation Gesture Recognizer

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • UIWebView rotieren mit Rotation Gesture Recognizer

    Hallo alle zusammen,

    ich habe eine iPad App, in der eine lokale PDF-Datei in einem UIWebView geladen wird.
    Diese Test-PDF ist 5 Seiten lang. Die ersten 4 Seiten sind in Hochformat und die letzte Seite ist in Querformat beschrieben.
    "Autorotation" und "scalesPageToFit" funktionieren.

    Halte ich das iPad in Hochformat, werden mir die ersten 4 Seiten beim Durchscrollen korrekt angezeigt. Scrolle ich weiter zu Seite 5, wird mir der Text aber so angezeigt, dass ich meinen Kopf um 90° drehen muss.
    Nun drehe ich natürlich das iPad um 90°, aber da "Autorotation" und "scalesPageToFit" aktiviert sind, passt sich mein UIWebView an und ich bin in der gleichen Situation wie zuvor 8| .

    Nun habe ich mittels dem "Rotation Gesture Recognizer" versucht, den WebView mit 2 Fingern zu drehen und mir Seite 5 somit in die richtige Ausrichtung zu bringen, ohne das iPad zu drehen.

    Problem ist, dass die PDF-Seiten beim Rotieren des WebView flackern, teilweise verschwinden, sich alles verschiebt und der WebView sogar mal komplett herauszoomt und mir alle PDF's in Reihe anzeigt. Man kann sich vorstellen wie das bei einer 200 Seiten langen PDF aussieht...

    Wie kann ich die Rotation um 90° meines UIWebView sauber mit 2 Fingern umsetzen?

    Grüße
    MaCro

    Quellcode

    1. - (void)viewDidLoad
    2. {
    3. [super viewDidLoad];
    4. ////////////OPEN PDF file in uiwebview//////////////////
    5. NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"];
    6. NSURL *url = [NSURL fileURLWithPath:path];
    7. NSURLRequest *request = [NSURLRequest requestWithURL:url];
    8. [webView loadRequest:request];
    9. webView.scalesPageToFit = YES;
    10. }
    11. /////////////webview ROTATE/////////////////////////////
    12. - (IBAction)twoFingersRotate: (UIRotationGestureRecognizer *) recognizer
    13. {
    14. CGAffineTransform transform = CGAffineTransformMakeRotation([recognizer rotation]);
    15. self.webView.transform = transform;
    16. }
    Alles anzeigen