Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2015年02月24日

画面サイズは取得タイミングにより異なる



self.view.bounds.sizeで取得できる画面サイズは、取得タイミングにより異なる。

例えば、iPhone6でself.view.bounds.sizeを取得すると、下記のようになる。

viewDidLoad
self.view.bounds.size.height が 568.0
self.view.bounds.size.width が 320.0


viewWillAppear
self.view.bounds.size.height が 667.0
self.view.bounds.size.width が 375.0


ちなみに、[UIScreen mainScreen].bounds.size を取得した場合は、下記のようになる。
viewDidLoad
[UIScreen mainScreen].bounds.size.height が 667.0
[UIScreen mainScreen].bounds.size.width が 375.0


viewWillAppear
[UIScreen mainScreen].bounds.size.height が 667.0
[UIScreen mainScreen].bounds.size.width が 375.0


self.view.bounds.size は、インスタンス化された直後の初回に一度だけ実行される viewDidLoadではiPhone5sなどの4インチサイズとなってしまい、画面が表示される直前に実行されるviewWillAppearでiPhone6として正しい画面サイズが取得される。

[UIScreen mainScreen].bounds.size は、viewDidLoad、viewWillAppearのどちらでもiPhone6として正しい画面サイズが取得される。

背景画像を編集するときは、編集する場所(メソッド)と取得項目(self.view.bounds.size または [UIScreen mainScreen].bounds.size)に注意が必要である。

タグ:Mac apple iPAD IOS iPhone
posted by mobileDeveloper at 23:41 | Comment(0) | TrackBack(0) | 開発の流れ はてなブックマーク - 画面サイズは取得タイミングにより異なる | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。