it-swarm.com.de

Wie kann ich die Querformateinstellung deaktivieren?

Ich mache eine iPhone-App und brauche sie im Hochformat. Wenn der Benutzer das Gerät seitlich bewegt, dreht es sich nicht automatisch. Wie kann ich das machen?

29
user1483652

Um die Orientierungen für einen bestimmten View Controller zu deaktivieren, sollten Sie jetzt supportedInterfaceOrientations und preferredInterfaceOrientationForPresentation überschreiben.

- (NSUInteger) supportedInterfaceOrientations {
    // Return a bitmask of supported orientations. If you need more,
    // use bitwise or (see the commented return).
    return UIInterfaceOrientationMaskPortrait;
    // return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}

- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation {
    // Return the orientation you'd prefer - this is what it launches to. The
    // user can still rotate. You don't have to implement this method, in which
    // case it launches in the current orientation
    return UIInterfaceOrientationPortrait;
}

Wenn Sie etwas älteres als iOS 6 auswählen, möchten Sie die Methode shouldAutorotateToInterfaceOrientation: . Durch die Änderung, wenn ja zurückgegeben wird, bestimmen Sie, ob es in die besagte Ausrichtung gedreht wird. Dies erlaubt nur die normale Ausrichtung im Hochformat.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 

    // Use this to allow upside down as well
    //return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}

Beachten Sie, dass shouldAutorotateToInterfaceOrientation: in iOS 6.0 veraltet wurde. 

51
thegrinner

Xcode 5 und höher

  • Klicken Sie in der linken Seitenleiste im Projektnavigator auf Ihr Projekt, um die Projekteinstellungen zu öffnen
  • Gehen Sie zur Registerkarte General .
  • Deaktivieren Sie die Optionen, die Sie nicht möchten, im Abschnitt Bereitstellungsinformationen unter Geräteorientierung

screenshot showing where to click

37
skywinder

Xcode 4 und darunter

Für diejenigen, die es verpasst haben: Sie können die Projekteinstellungen verwenden, um die Ausrichtung in der App festzulegen (keine Notwendigkeit, Methoden in jedem Controller zu überschreiben):

enter image description here

Es ist so einfach wie die unterstützten Schnittstellenorientierungen umzuschalten. Klicken Sie im linken Bereich auf Ihr Projekt> App-Ziel> Registerkarte Übersicht.

28
Thomas Verbeek

Wenn Sie die Querformatausrichtung für sowohl für iPhone als auch für iPad deaktivieren möchten

Gehen Sie zu Targets und wechseln Sie zur Registerkarte General. Siehe untenstehender Bildschirm und hebt die Auswahl zwischen links und rechts auf.

 enter image description here

In diesem Fall wird nur der iPhone-Querformatmodus für das iPad deaktiviert. Für das iPad sind alle Modi aktiviert. Wenn Sie die Geräteoption von Universal zu iPad auswählen möchten. Es wird so aussehen. Siehe unterer Bildschirm.

 enter image description here

Jetzt müssen Sie die Auswahl aller Modi außer Portrait für iPad aufheben. Siehe untenstehender Screenshot.

 enter image description here

Nun haben Sie erfolgreich alle Modi außer Portrait für alle Geräte deaktiviert.

1
iOS

Swift 3 Wenn Sie über einen navigationController verfügen, können Sie diesen wie folgt unterteilen (nur für Portrait):

class CustomNavigationViewController: UINavigationController {

  override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.portrait
  }

  override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
    return UIInterfaceOrientation.portrait
  }
}
1
kurtanamo

Einfachste Lösung für iPhone und iPad (Universal) - unnötige Ausrichtung in der Datei info.plist oder entfernen Projekt -> Info -> Benutzerdefinierte iOS-Zieleigenschaften .

Fügen Sie einfach ein Orientierungselement zur Liste hinzu oder entfernen Sie es:

  • Unterstützte Schnittstellenausrichtung für iPhone
  • Unterstützte Schnittstellenausrichtungen (iPad) für iPar

enter image description here

0
Anonimys

Xcode 8, Xcode 9, Xcode 10 und höher

enter image description here

0
midhun p

Das Entfernen der Methode shouldAutorotateToInterfaceOrientation aus Ihrer Klasse funktioniert ebenfalls vollständig. Wenn Sie nicht planen, sich zu drehen, macht es keinen Sinn, die Methode in Ihrer Klasse zu haben. Je weniger Code desto besser, desto sauberer bleibt das Ergebnis.

0
ElasticThoughts