Jawaban historis saja. Sangat ketinggalan zaman.
Harap dicatat bahwa jawaban ini sekarang sangat ketinggalan zaman /
Jawaban ini hanyalah keingintahuan sejarah .
Berita menarik! Seperti yang ditemukan oleh Andrew di bawah, masalah ini telah diperbaiki oleh Apple di versi 4.0+.
Tampaknya tidak perlu lagi memaksakan ukuran tampilan pada setiap tampilan, dan masalah serius khusus lanskap "baru berfungsi pertama kali" telah diselesaikan.
Pada April 2011, tidak mungkin untuk menguji atau bahkan membangun apa pun di bawah 4.0, jadi pertanyaannya hanyalah keingintahuan bersejarah. Sungguh luar biasa betapa banyak masalah yang ditimbulkannya bagi para pengembang begitu lama!
Berikut adalah pembahasan dan solusi asli. Ini sama sekali tidak relevan sekarang, karena sistem ini bahkan tidak dapat dioperasikan.
SANGAT SULIT untuk membuat ini berfungsi sepenuhnya - setidaknya ada tiga masalah / bug yang sedang dimainkan.
coba ini .. desain lansekap pembangun antarmuka
Perhatikan khususnya di mana dikatakan "dan Anda perlu menggunakan shouldAutorotateToInterfaceOrientation dengan benar di mana pun" artinya di mana saja, semua tampilan layar penuh Anda.
Semoga membantu dalam mimpi buruk ini!
Sebuah pengingat penting dari masalah TAMBAHAN terkenal yang dihadapi di sini: jika Anda mencoba untuk beralih antara LEBIH DARI SATU tampilan (semua lanskap), INI HANYA TIDAK BEKERJA . Sangat penting untuk mengingat ini atau Anda akan membuang hari untuk masalah tersebut. Secara harfiah TIDAK MUNGKIN. Ini adalah bug terbuka, yang diketahui, terbesar di platform iOS. Secara harfiah tidak ada cara untuk membuat perangkat keras membuat tampilan kedua yang Anda muat, menjadi lanskap. Solusi yang menjengkelkan tetapi sederhana, dan yang harus Anda lakukan, adalah memiliki master UIViewController sepele yang tidak melakukan apa pun selain duduk di sana dan membiarkan Anda bertukar di antara tampilan Anda.
Dengan kata lain, di iOS karena bug utama yang diketahui:
[window addSubview:happyThing.view];
[window makeKeyAndVisible];
Anda hanya dapat melakukannya sekali . Nanti, jika Anda mencoba untuk menghapus happyThing.view, dan bukannya meletakkan newThing.view di sana, ITU TIDAK BEKERJA - DAN ITU ITU. Mesin tidak akan pernah memutar tampilan menjadi lanskap. Tidak ada perbaikan trik, bahkan Apple tidak dapat membuatnya bekerja. Solusi yang harus Anda adopsi adalah memiliki UIViewController secara keseluruhan yang hanya ada di sana dan hanya menyimpan berbagai tampilan Anda (happyThing, newThing, dll). Semoga membantu!