[iPhone] 画面回転時のLabel位置調整

画面が縦、横向きのレイアウトで表示する文字をちょうどいい場所に置きたい。そんな時はコードで位置を指定すれば簡単に実現できます。
 

尚、Swiftではこちらです。

Objective-C
Xcode 8.2.1

 

CGRectMake を使ってラベルのサイズを決める

 
画面の下部に “Hello World” をportraitでもlandscapeでも表示されるようにします。
ポイントとしては、

  1. label.frame = CGRectMake( X, Y, Width, Height);
    • CGRectMake() を使ってラベルのサイズを含めて位置も決められる
  2. view.frame.size.height で画面の高さを検出 

CGMake で先頭位置とサイズを決めラベルの frame に入れる
その後、テキスト内容を代入してから view に追加することで位置は決められます。例えばこのような設定です。
 

 

view.frame.size.height

 
int screenHeight = self.view.frame.size.height;
のようにして高さを求められます。portraitでは長い方向の高さとなり、landscapeでは高さが短くなります。
 
まとめると
 
ViewController.m

 
起動時にportraitかlandscapeかの判断をしています。動的に向きが変わる場合には画面回転を検知する実装が別に必要です。
 

 

 
Swiftのケースはこちらです。


ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする