UIViewは画面表示を管理するクラスです。
ボタン、ラベルなどの各種コントロールクラスはこのクラスを継承しています。
イベント処理なども備えており、タッチイベントの受け取りなども行うことができます。
また、1つ以上のサブビューを管理することができるのも特徴です。

UIViewの宣言

UIView *vi = [[UIView alloc] init];

// 位置、サイズを指定しながら生成
UIView *vi = [[UIView alloc] initWithFrame:CGRectMake(100,180,120,120)];

主要なプロパティ

frame
位置、サイズを指定する
例)vi.frame = CGrectMake(100,180,120,120);

center
対象の中心位置を指定する
例)vi.center = CGPointMake(160, 240);

backgroundColor
背景色を設定する
例)vi.backgroundColor = [UIColor whiteColor];

hidden
対象の表示/非表示を指定する
設定できる値の一覧
NO 表示
YES     非表示    
例)vi.hidden = YES;

tag
タグ番号を付ける
例えば、同じようなボタンが複数あった場合、どのボタンが押されたかなどを見極める為に使うと良い。
例)vi.tag = 0;

alpha
透過値を設定する
0.0 〜 1.0 の間で設定することが出来、0.0 で透過率 100% 、1.0 で透過率 0% となる。
例)vi.alpha = 0.8;

superview
対象の親のUIViewクラスを取得する
例)[vi superview];

subviews
対象の子のUIViewクラスを取得する
冒頭でも説明した通り、UIViewには1つ以上のサブビューを設置することが出来るため、返り値はNSArrayとなっています
例)NSArray *ar = [vi subviews];

transform
対象の拡大、縮小、回転などを行う
設定できる値の一覧
UIViewAnimationTransitionFlipFromLeft 右回転する
UIViewAnimationTransitionFlipFromRight     左回転する
UIViewAnimationTransitionCurlUp 上向きにカーリングする
UIViewAnimationTransitionCurlDown 下向きにカーリングする
UIViewAnimationTransitionNone トランジション指定なし    
// 2倍のサイズにしてみる
例)vi.transform = CGAffineTransformMakeScale(2, 2);

// 元の角度から90度回転させる
例)vi.transform = CGAffineTransformMakeRotation(M_PI/2);

autoresizingMask
ビューの幅・高さなど、可変、もしくは固定にするかを設定
親ビューのサイズが変更となった場合にも、同様に四辺を変更させるかを指定できる
設定できる値の一覧
UIViewAutoresizingFlexibleTopMargin 上を自動調整
UIViewAutoresizingFlexibleBottomMargin     下を自動調整
UIViewAutoresizingFlexibleRightMargin 右を自動調整
UIViewAutoresizingFlexibleLeftMargin 左を自動調整
UIViewAutoresizingFlexibleWidth 幅を自動調整
UIViewAutoresizingFlexibleHeight 高さを自動調整    
UIViewAutoresizingNone 自動調整なし
// 対象のビューを親ビューの右下に固定してみる
例)vi.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;

contentMode
サイズが変更された際などの調節方法を設定
設定できる値の一覧
UIViewContentModeScaleToFill UIViewの大きさに合わせる
UIViewContentModeScaleAspectFit           縦横比を崩さずにUIViewの大きさに合わせる          
UIViewContentModeScaleAspectFill UIViewの大きさに合わせて切り抜かれる
UIViewContentModeCenter 中央に表示
UIViewContentModeTop 上に表示
UIViewContentModeBottom 下に表示
UIViewContentModeRight 右に表示
UIViewContentModeLeft 左に表示
UIViewContentModeTopRight 右上に表示
UIViewContentModeTopLeft 左上に表示
UIViewContentModeBottomRight 右下に表示
UIViewContentModeBottomLeft 左下に表示
// UIViewの大きさに合わせて、比率を変えずに表示させる
例)vi.contentMode = UIViewContentModeScaleAspectFit;

主要なインスタンスメソッド

addSubView:
- (void)addSubView:(UIView *)view
対象のビュー(親ビュー)に対してサブビューを追加する
例)[self.view addSubView:vi];

drawRect
- (void)drawRect:(CGRect)rect
図形を描画する

sizeToFit
- (void)sizeToFit
UIViewの大きさを対象のコンテンツに合わせる
例)[vi sizeToFit];

bringSubviewToFront:
- (void)bringSubviewToFront:(UIView*)view
指定したサブビューのインデックスを親ビュー内の一番手前に移動する
例)[self.view bringSubviewToFront:vi];

exchangeSubviewAtIndex:withSubviewAtIndex:
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2
指定した2つのサブビューのインデックスを入れ替えます
//  0 番目と 1 番目のサブビューを入れ替える
例)[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

sendSubviewToBack:
- (void)sendSubviewToBack:(UIView *)view
指定したサブビューのインデックスを親ビュー内の一番後ろに移動する
例)[self.view sendSubviewToBack:vi];



名前:
コメント:

すべてのコメントを見る
最終更新:2013年04月23日 20:21