というわけで調べていると、画面が4inchかどうか・・・というよりも、画面の高さが568pxかどうかで見分けるようだった。
うーん、なんかすっきりせんが・・・。
int height = [[UIScreen mainScreen] bounds].size.height;
こんなので画面の高さが取れるらしいのでシミュレータで試したのだが、4インチのシミュレータを立ち上げても480にしかならない。
シミュレータやアプリの設定をさんざん見たのだが、特に何も無い。
が、他のアプリは568になってる。
うーむ・・・。
こんな回答があった。
http://stackoverflow.com/questions/12505910/why-my-uiscreen-mainscreen-bounds-size-return-480-in-ios6
確かに、このプロジェクトはLaunch Imageを削除していた。
他のプロジェクトからImages.xcassetsをもらってくると、568になった。
納得いかん・・・・。
削除しなければいいだけの話ではあるのだが、デバイスの情報が取得できないってところがね。
なお、取得値が480になるだけじゃなく、アプリの画面サイズもそうなってしまう。
前回取ったスクリーンショットがそうだ。
「頭の部分が長くなっただけ」と書いたが、上下にスペースが入ってセンタリングされるような画面になっていた。
Form Factor : 3.5inch / iOS6.1(Retina 4inch) Emulator
Form Factor : 4inch / iOS6.1(Retina 3.5inch) Emulator
Form Factor : 4inch / iOS6.1(Retina 4inch) Emulator
4インチのエミュレータで下までスクロールするようになった。
Form Factorが4インチで作ると3.5インチ画面で下までスクロールしないのはそのままだ。
やはりStoryboardを分けるとか、Auto Layoutとか、何かやらんといかんようだな。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。