今回は、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 で、端末の画面サイズを取得する方法についてでした。
ご参考になれば幸いです。