あけましておめでとうございます。
【iPhone/iPad/iPod touch プログラミングバイブル iOS5/Xcode4対応】という書籍を購入し、下記のサポートページよりサンプルファイルをダウンロードし、サンプルファイル中の【ロールプレイングゲーム】(samples > ch9 > RPG > RPG.xcodeproj)をXcodeで開きました。
http://www.socym.co.jp/support/s-795
しかし、シミュレーターで表示すると横向き固定のアプリなのですが、縦向き固定で表示されます。
シミュレーターを回転させてもずっと縦向きのままです。
コードを確認すると、RPGViewController.mにレイアウトを横向きにする下記のコードが記述されています。
//横向きに回転
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)orientation {
return (orientation==UIInterfaceOrientationLandscapeRight||
orientation==UIInterfaceOrientationLandscapeLeft);
}
下記のサイトを参考にして解決しようと試みましたが、プロパティリストの【キー】を【Initial interface orientation】に設定する方法がどうしてもわかりません。
http://araking56.blog134.fc2.com/blog-entry-199.html
Custom iOS Target Properties の画面までは行けるのですが、Keyを新たに設定する方法が分かりません。
Xcodeのバージョンは5.0.2です。
アプリが横向き固定で表示されるよう、解決方法を教えていただきたく、お願い致します。
iPhoneアプリのレイアウトを横向きに固定する方法
Re: iPhoneアプリのレイアウトを横向きに固定する方法
右クリックして "Add Row" で追加できます。
-
Extreme
Re: iPhoneアプリのレイアウトを横向きに固定する方法
h2so5様
返信ありがとうございました。
プロパティリストの【Key】を【Initial interface orientation】に設定することはできましたが、レイアウトは横向き固定になりませんでした。
有効な解決方法はありますでしょうか?
どうかご教示いただきたく、お願い致します。
プロパティリストの画面
https://www.dropbox.com/s/jtue8bmrn40nh ... .58.24.png
シミュレーターの画面
https://www.dropbox.com/s/q6yicss4a8htn ... .04.25.png
返信ありがとうございました。
プロパティリストの【Key】を【Initial interface orientation】に設定することはできましたが、レイアウトは横向き固定になりませんでした。
有効な解決方法はありますでしょうか?
どうかご教示いただきたく、お願い致します。
プロパティリストの画面
https://www.dropbox.com/s/jtue8bmrn40nh ... .58.24.png
シミュレーターの画面
https://www.dropbox.com/s/q6yicss4a8htn ... .04.25.png
Re: iPhoneアプリのレイアウトを横向きに固定する方法
AppDelegate.m の24行目の
となっている部分を
に書き換えてください。
参考:
https://developer.apple.com/library/ios ... index.html
参考:
https://developer.apple.com/library/ios ... index.html
-
Extreme
Re: iPhoneアプリのレイアウトを横向きに固定する方法
h2so5様
AppDelegate.mの書き換えで無事解決しました。
本当に有り難うございました。
ところで、参考ページについて質問があります。
僕の英語力が低いせいか、AppDelegate.mの書き換えについての説明が見当たりませんでした。
参考ページのどこにAppDelegate.mの書き換えについての説明が書かれているのでしょうか。
今後、自力で解決する力を付けるために英語のページもチェックできるようになりたいので、どうか教えていただけないでしょうか?
よろしくお願い致します。
AppDelegate.mの書き換えで無事解決しました。
本当に有り難うございました。
ところで、参考ページについて質問があります。
僕の英語力が低いせいか、AppDelegate.mの書き換えについての説明が見当たりませんでした。
参考ページのどこにAppDelegate.mの書き換えについての説明が書かれているのでしょうか。
今後、自力で解決する力を付けるために英語のページもチェックできるようになりたいので、どうか教えていただけないでしょうか?
よろしくお願い致します。
Re: iPhoneアプリのレイアウトを横向きに固定する方法
AppDelegate.mを書き換えるとは直接は書いていません。
ヒントになるのは初めの方にあるこの部分です。
Interface Builder、もしくは実行時にapplication:didFinishLaunchingWithOptions:からリターンする前に、アプリケーションのルートビューコントローラーをアプリケーションウィンドウのrootViewControllerプロパティに設定するべきです。もし同時に2つ以上のビューコントローラーでコンテンツを表示したい場合は、独自のコンテナとなるビューコントローラーを定義し、それをルートビューコントローラーとして使用してください。
AppDelegate.mに「推奨されない」コードが書かれていたのでそれを修正しただけです。
ヒントになるのは初めの方にあるこの部分です。
開発者がビューコントローラーのviewプロパティをUIWindowのサブビューとして追加することは推奨されません。Developers are discouraged from adding the view property of any view controller as a subview of UIWindow. Your application's root view controller should be assigned to the app window's rootViewController property either in Interface Builder, or at runtime before returning from application:didFinishLaunchingWithOptions:. If you need to display content from more than one view controller simultaneously, you should define your own container view controller and use it as the root view controller. See Creating Custom Container View Controllers.
Interface Builder、もしくは実行時にapplication:didFinishLaunchingWithOptions:からリターンする前に、アプリケーションのルートビューコントローラーをアプリケーションウィンドウのrootViewControllerプロパティに設定するべきです。もし同時に2つ以上のビューコントローラーでコンテンツを表示したい場合は、独自のコンテナとなるビューコントローラーを定義し、それをルートビューコントローラーとして使用してください。
iOS6から、ルートビューコントローラーがアプリケーションウィンドウに設定されていない場合は、UIApplicationオブジェクトのみが対応している画面の向きを判断するようになります。さらに、ビューコントローラーに向きの変更が通知されないため、予期しない動作を引き起こすかもしれません。Beginning with iOS 6, if a root view controller has not been assigned to the app's window, supported orientations are determined only by the UIApplication object. Further, view controllers will not be notified of orientation changes, which may result in unexpected behavior.
AppDelegate.mに「推奨されない」コードが書かれていたのでそれを修正しただけです。
-
Extreme
Re: iPhoneアプリのレイアウトを横向きに固定する方法
h2so5様
とても丁寧に教えてくださり、ありがとうございました。
もっと基礎を勉強するようにします。
本当にありがとうございました。
とても丁寧に教えてくださり、ありがとうございました。
もっと基礎を勉強するようにします。
本当にありがとうございました。