Ich bin sicher, dass Sie eine Rotation nicht "erzwingen" können. Das System entscheidet, wann die Ausrichtung des Geräts geändert werden soll. Die Eigenschaften der Ausrichtung sind also im Wesentlichen schreibgeschützt. Ich habe das gleiche Problem schon vor langer Zeit untersucht, als ich sicherstellen wollte, dass eine bestimmte Ansicht immer in einer Richtung angezeigt wird.
Aus diesem Grund erlauben die meisten Apps, dass alle Ansichten und View-Controller in jeder von der App unterstützten Ausrichtung funktionieren. Ich habe festgestellt, dass der Versuch, das Verhalten einiger Ansichten und Ansichts-Controller einzuschränken, letztendlich zu größeren Problemen führt und Probleme beim Übergang zwischen Ansichten und Ansichts-Controllern verursachen kann.
Der von Ihnen gepostete Code funktioniert für Ihre Ansicht. Du änderst überhaupt nicht die Ausrichtung; Ihre Ansicht verhält sich nur so, als ob sie rotiert wurde. Ich bin mir nicht sicher, ob Sie das Gleiche mit der Navigationsleiste tun können oder nicht, aber es ist einen Versuch wert. Wenn Sie die Ansichtseigenschaften der Navigationsleiste steuern können (dies ist ebenfalls eine UIView), sollte das gleiche Muster, das Sie für Ihre benutzerdefinierte Ansicht verwenden, funktionieren.
Die meisten Apps, die nur in der Landschaft angezeigt werden möchten, zwingen ihre gesamte App dazu, sich im Querformat zu befinden. Zum Beispiel unterstützt Flight Control nur eine Ausrichtung. Somit ist der Zeichnungscode ziemlich einfach; Unabhängig von der Ausrichtung, zeichnen Sie einfach die Ansicht und drehen Sie sie auf die eine Ausrichtung, die sie unterstützt (entweder Querformat links oder rechts).
Das Design Ihrer App wäre nicht so einfach ... Es klingt, als würden Sie keine Vollbild-App entwickeln. Sie müssen sich sorgen, dass die Navigationsleiste und die Statusleiste richtig gezeichnet werden.
eine Antwort auf diese Frage finden Sie [hier] [1] [1]: http://stackoverflow.com/questions/181780/is-there-a-documented-way-to-set -the-iphone-orientation –
Genauer gesagt, werfen Sie einen Blick auf die Antwort von 77-upvotes zu dieser Frage: http://stackoverflow.com/a/4915378/39974 - Drücken und Knacken eines Dummy-View-Controllers scheint zumindest gut zu funktionieren und einschließlich iOS 5.1. –