WebView Orientation abfragen

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

  • WebView Orientation abfragen

    Hi Leute,

    ich habe eine WebView, in der mir PDF-Seiten angezeigt werden. Mit 2 Buttons kann ich diese WebView rechts bzw. links herum um jeweils 90° rotieren, aber leider nicht sauber.

    Ich würde gerne das ganze von der aktuellen Ausrichtung abhängig haben. Derzeit ist es so:

    Hochformat ist die Grundausrichtung.
    Betätige ich den "rotateButtonLeft" 1 mal, dann ist mein WebView um 90° nach links von der Grundausrichtung gedreht. Betätige ich nun den "rotateButtonRight" 1 mal, so ist mein WebView um 90° nach rechts von der Grundausrichtung gedreht und nicht wieder in der Grundausrichtung, also nicht um 90° zurück gedreht.

    Weiß jemand, wie ich die akuelle Ausrichtung meiner WebView abfragen kann? Somit wäre es mir möglich, die Rotation des WebView abhängig von der letzten Ausrichtung zu machen.

    Grüße
    MaCro

    Quellcode

    1. - (IBAction)rotateButtonLeft:(id)sender
    2. {
    3. static int rLeft = 0;
    4. switch (++rLeft)
    5. {
    6. case 1:
    7. webView.transform = CGAffineTransformMakeRotation(-M_PI/2);
    8. break;
    9. case 2:
    10. webView.transform = CGAffineTransformMakeRotation(-M_PI);
    11. break;
    12. case 3:
    13. webView.transform = CGAffineTransformMakeRotation((-3*M_PI)/2);
    14. break;
    15. default:
    16. webView.transform = CGAffineTransformMakeRotation(0);
    17. rLeft=0;
    18. break;
    19. }
    20. }
    21. - (IBAction)rotateButtonRight:(id)sender
    22. {
    23. static int rRight = 0;
    24. switch (++rRight)
    25. {
    26. case 1:
    27. webView.transform = CGAffineTransformMakeRotation(M_PI/2);
    28. break;
    29. case 2:
    30. webView.transform = CGAffineTransformMakeRotation(M_PI);
    31. break;
    32. case 3:
    33. webView.transform = CGAffineTransformMakeRotation((3*M_PI)/2);
    34. break;
    35. default:
    36. webView.transform = CGAffineTransformMakeRotation(0);
    37. rRight=0;
    38. break;
    39. }
    40. }
    Alles anzeigen
  • Ich denke nicht. Verwende ich nur eine Variable und lasse deren Wert bei "rotateButtonLeft" ++ und bei "rotateButtonRight" --, hätte ich den Wert "-1", wenn ich als erstes "rotateButtonRight" drücken sollte.

    So etwa habe ich mir das ganze vorgestellt. Nur ist "webView.orientation" nicht in Xcode vorhanden... Daher suche ich etwas, was mir die Ausrichtung des WebView liefert.

    Quellcode

    1. - (IBAction)rotateButtonLeft:(id)sender
    2. {
    3. switch (webView.orientation)
    4. {
    5. case webView.orientation.hochformat:
    6. webView.transform = CGAffineTransformMakeRotation(-M_PI/2);
    7. break;
    8. case webView.orientation.hochformatLinks:
    9. webView.transform = CGAffineTransformMakeRotation(-M_PI);
    10. break;
    11. case webView.orientation.hochformatKopfueber:
    12. webView.transform = CGAffineTransformMakeRotation((-3*M_PI)/2);
    13. break;
    14. default:
    15. webView.transform = CGAffineTransformMakeRotation(0);
    16. break;
    17. }
    18. }
    19. - (IBAction)rotateButtonRight:(id)sender
    20. {
    21. switch (webView.orientation)
    22. {
    23. case webView.orientation.hochformat:
    24. webView.transform = CGAffineTransformMakeRotation(M_PI/2);
    25. break;
    26. case webView.orientation.hochformatRechts:
    27. webView.transform = CGAffineTransformMakeRotation(M_PI);
    28. break;
    29. case webView.orientation.hochformatKopfueber:
    30. webView.transform = CGAffineTransformMakeRotation((3*M_PI)/2);
    31. break;
    32. default:
    33. webView.transform = CGAffineTransformMakeRotation(0);
    34. break;
    35. }
    36. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von MaCro ()