サイズ指定
UIViewやそのサブクラスでサイズや位置を指定するにはCGRect、CGPoint、CGSizeクラスを使用します。
CGRect
CGRectは、対象オブジェクトの位置とサイズの両方を管理するクラスです。
生成するには、CGRectMakeを使用し、引数には「位置x, 位置y, 幅, 高さ」の順で指定します。
// CGRectの生成
CGRect rect = CGRectMake(0, 0, 100, 80);
// 位置x、位置y、幅、高さ全て0のCGRectを生成する
CGRect rect = CGRectZero;
CGRectから値を取得するには以下のプロパティにて取得できます。
プロパティ/型 | 説明 |
---|---|
origin.x (float) |
位置のX座標を取得する (例)コントローラ(label)のX座標を取得する float labelx = label.frame.origin.x; |
origin.y (float) |
位置のY座標を取得する (例)コントローラ(label)のY座標を取得する float labely = label.frame.origin.y; |
size.width (float) |
幅を取得する (例)コントローラ(label)の幅を取得する float labelw = label.frame.size.width; |
size.height (float) |
高さを取得する (例)コントローラ(label)の高さを取得する float labelh = label.frame.size.height; |
// UILabelを用いた例文
UILabel *label = [[[UILabel alloc] init] autorelease];
label.frame = CGRectMake(10, 10, 100, 50);
CGPoint
CGPointは、対象オブジェクトの位置を管理するクラスです。
生成するには、CGPointMakeを使用し、引数には「位置x, 位置y」の順で指定します。
// CGPointの生成
CGPoint point = CGPointMake(200, 300);
CGPointから値を取得するには以下のプロパティにて取得できます。
プロパティ/型 | 説明 |
---|---|
x (float) |
位置のX座標を取得する (例)float loc_x = point.x; |
y (float) |
位置のY座標を取得する (例)float loc_y = point.y; |
// UISwitchを用いた例文
UISwitch *sw = [[[UISwitch alloc] init] autorelease];
sw.center = CGPointMake(200, 300);
CGSize
CGSizeは、対象オブジェクトのサイズを管理するクラスです。
生成するには、CGSizeMakeを使用し、引数には「幅, 高さ」の順で指定します。
// CGSizeの生成
CGSize sz = CGSizeMake(100, 50);
CGSizeから値を取得するには以下のプロパティにて取得できます。
プロパティ/型 | 説明 |
---|---|
width (float) |
対象オブジェクトの幅を取得する (例)float w = sz.width; |
height (float) |
対象オブジェクトの高さを取得する (例)float h = sz.height; |