Siehe den Abschnitt Autoresizing-Verhalten auf der Seite Fenster und Ansichten konzeptionelle Anleitung auf der Apple-Website. Darin wird erklärt, wie man eine automatische Drehung vom Hoch- ins Querformat und wieder zurück erreichen kann, ohne Interface Builder zu verwenden und ohne sich mit der manuellen Implementierung komplexer Transformationen beschäftigen zu müssen.
Zum Drehen Ihres benutzerdefinierten Inhalts und zum Deaktivieren des Scrollens siehe shouldAutorotateToInterfaceOrientation:interfaceOrientation
, willRotateToInterfaceOrientation:duration:
et didRotateFromInterfaceOrientation:
in UIViewController
. Sie können diese Methoden implementieren, um Rotationsereignisse abzufangen, zu prüfen, in welche Richtung Sie sich bewegen, und sich um Ihre benutzerdefinierten Zeichen- und Eigenschaftseinstellungen kümmern.
Editar
Als Antwort auf Ihren Kommentar habe ich diesen Abschnitt aus der Tabellenansicht Programmierhandbuch von Apple:
UITableView erbt von UIScrollView, die das Bildlaufverhalten Verhalten für Ansichten definiert, deren Inhalt größer als die Größe des Fensters. UITableView definiert den Bildlauf neu Verhalten so um, dass es nur vertikales Scrollen zu ermöglichen.
Vielleicht hat Apple das horizontale Scrollen von Tabellenansichten als Verstoß gegen die Richtlinien für die menschliche Schnittstelle eingestuft. Ich frage mich, ob Sie das Bildlaufverhalten neu definieren könnten, wenn Sie eine Unterklasse UITableView
aber das wäre wahrscheinlich eine Menge Arbeit durch Versuch und Irrtum. Wenn Sie tatsächlich in der Lage sind, dies zu erreichen, bin ich sicher, dass viele Menschen hier würden daran interessiert sein, wie Sie es getan haben. Ich habe eine Weile herumgesucht und versucht, die Lösungen anderer Leute zu finden, aber ich konnte da draußen nichts finden.
Andererseits könnte es sein, dass Apple Ihre Anwendung nicht in den App Store aufnimmt, wenn Sie dies tun, vorausgesetzt, dass die HIG wirklich verletzt wird.