【Objective-C】端末の画面サイズを取得する

今回は、Objective-C で端末の画面サイズを取得する方法についてです。
アプリを開発している中で、かなり頻繁に使う記述なので、今後も使うだろうということでまとめ。

参考にさせていただいた記事はこちらから。

UIScreen – iPhoneアプリ開発の虎の巻
https://iphone-tora.sakura.ne.jp/uiscreen.html

 

サイズの取得方法ですが、全く難しくなくて下記のように書くだけで取得できます。

CGRect frame = [[UIScreen mainScreen] bounds];

ちなみに、上記のサンプルコードは、ステータスバーも含んだサイズです。
もし、ステータスバーを含まない画面サイズを取得したい場合は、下記のように記述してください。

CGRect frame = [[UIScreen mainScreen] applicationFrame];

そして、変数 frame から、それぞれ下記のように記述すれば、画面の幅と高さを取得できます。

// 画面の幅
CGFloat width = frame.size.width;

// 画面の高さ
CGFloat height = frame.size.height;

あとは、得られた値を使って、お好みの処理を記述してください。

 

例えば、下記のように指定すれば、ボタンを画面の中央に配置することができます。

UIButton *button = [[UIButton alloc] init];
[self.button setTitle:@"サンプルボタン" forState:UIControlStateNormal];
button.frame = CGRectMake(frame.size.width/2 - 50, frame.size.height / 2 - 25, 100, 50);
[self.view addSubview:self.button];

なお、ボタンのサイズは、幅 100、高さ 50 としています。
そして、ボタンの左上角の位置を、x は frame.size.width/2 - [ボタン幅の1/2]、y は frame.size.height / 2 - [ボタン高さの1/2] と指定することで、画面の中央にボタンが配置されます。
サンプルコードは以上です。

 

以上、Objective-C で、端末の画面サイズを取得する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG