内容の保証はできません。


/System/Library/frameWorks/UIKit.framework

クラス UIView

NSObject
  |
  +--UIResponder
      |
      +--UIView

概要

UIViewクラスのインスタンスであるビューは、画面上の矩形領域を定義します。iPhoneアプリケーションでは、ユーザインターフェイスの表示と、そのインターフェイスを対象とした操作への応答の 両面において、ビューは中心的な役割を果たします。各ビューオブジェクトは、その矩形領域内にコンテンツを表示する責務と、その領域内で発生したタッチイベントに応答する責務を負っています。この2つの振る舞いから、ビューが、アプリケーションにおいてユーザと対話するための主要なメカニズムであることがわかります。Model-View-Controllerアプリケーションでは、ビューオブジェクトは、まさしくアプリケーションのView部分に該当します。

コンテンツの表示とイベント処理のほかに、ビューは、1つ以上のサブビューを管理できます。サ ブビューとは、元のビューオブジェクト(親ビューまたはスーパービューと呼ばれる)のフレーム内に埋め込まれたビューオブジェクトのことです。ビューは、ビュー階層と呼ばれる階層構造になっており、階層には任意の数のビューを含めることができます。また、サブビューにさらにサブビューを追加して、ビューを何階層にもネストさせることができます。各サブビューは、その親ビューの手前に表示されるので、画面への表示はビュー階層内のビューの構成によって決まります。また、この構成によって、ビューがイベントや変更にどのように対応するかも決まります。各親ビューは、その直下のサブビューの管理を担当し、必要に応じてサブビューの位置やサイズを調整したり、サブビューで処理できないイベントに応答したりします。 ビューオブジェクトは、アプリケーションがユーザと対話するための主な手段となるので、いくつかの責務を負っています。

iPhoneアプリケーションでは、ビューは、View Controllerと密接に連携して、ビューの動作のさまざまな側面を管理します。View Controllerは、ビューのロードおよびアンロード、ユーザが物理的にデバイスを回転したことによるインターフェイスの回転、複雑なユーザインターフェイスを構成するために使われる高度なナビゲーションオブジェクトとの対話を処理します。

インデックス

インスタンスの作成

- initWithFrame:

属性の定義

userInteractionEnabled property

領域・フレーム矩形の設定

frame property
bounds property
center property
transform property

ビュー階層の管理

superview property
subviews property
window property
- addSubview:
- bringSubviewToFront:
- sendSubviewToBack:
- removeFromSuperView:
- insertSubview:atIndex
- insertSubview:aboveSubview:
- insertSubview:belowSubview:
- exchangeSubviewAtIndex:withSubviewAtIndex:
- isDescendantOfView:

座標系の変換

- convertPoint:toView:
- convertPoint:fromView:
- convertRect:toView:
- convertRect:fromView:

サブビューのリサイズ

autoresizesSubviews property
autoresizesMask property
- sizeThatFits:
- sizeToFit
contentMode property
contentStretch property 3.0b以降

ビューの検索

tag property
- viewWithTag:

ビューの配置

- setNeedsLayout
- layoutIfNeeded
- layoutSubViews

表示

clipsToBounds property
backgroundColor property
alpha property
opaque property
clearsContextBeforeDrawing property
- drawRect:
- setNeedsDisplay
- setNeedsDisplayInRect:
+ layerClass
layer property
hidden property

アニメーション

+ beginAnimations:context:
+ commitAnimations
+ setAnimationStartDate:
+ setAnimationsEnabled:
+ setAnimationDelegate:
+ setAnimationWillStartSelector:
+ setAnimationDidStopSelector:
+ setAnimationDuration:
+ setAnimationDelay:
+ setAnimationCurve:
+ setAnimationRepeatCount:
+ setAnimationRepeatAutoreverses:
+ setAnimationBeginsFromCurrentState:
+ setAnimationTransition:forView:cache:
+ areAnimationsEnabled

イベントの処理

- hitTest:withEvent:
- pointInside:withEvent:
multipleTouchEnabled property
exclusiveTouch property
– endEditing:

オーバーライドされるメソッド

- didAddSubview:
- didMoveToSuperview
- didMoveToWindow
- willMoveToSuperview:
- willMoveToWindow:
- willRemoveSubview:

プロパティ

alpha

アルファ値の指定。

@property(nonatomic)CGFloat alpha

autoresizesSubviews

YESならばフレーム矩形が変更された時にサブビューのサイズを自動的に変更する。デフォルト:YES

@property(nonatomic)BOOL autoresizesSubviews

autoresizingMask

ビューの幅・高さを固定にするのか可変にするのか、上下左右の四辺を親ビューの各四辺に対して連動させるのかさせないのかを指定する。

@property(nonatomic)UIViewAutoresizing autoresizingMask

 
//ビューを親ビューの左下隅に固定する場合
MyView.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
 

backgroundColor

背景色の指定。

@property(nonatomic,retain)UIColor *backgroundColor

bounds

フレーム矩形の指定。

@property(nonatomic)CGRect bounds

center

フレーム中央の座標を指定。

@property(nonatomic)CGPoint center

clearsContextBeforeDrawing

YESならば描画をする前に自動的にビューをクリアする。デフォルト:YES

@property(nonatomic)BOOL clearsContextBeforeDrawing

clipsToBounds

YESならばサブビューをメインビューの内側に描画することが出来る。デフォルト:NO

@property(nonatomic)BOOL clipsToBounds

contentMode

フレーム矩形が変更された時のコンテンツの表示位置を指定する。

@property(nonatomic)UIViewContentMode contentMode

contentStretch

ビューの伸縮可能な地域と伸縮不可能な地域を定義する矩形領域を指定する。主にビューがリサイズされた時、ビューのコンテンツをビューの領域いっぱいに広げたい時に利用される。

@property(nonatomic) CGRect contentStretch

exclusiveTouch

YESならば同ウインドウ内の他のビューにおけるタッチイベントを受け付けない。デフォルト:NO

@property(nonatomic, getter=isExclusiveTouch)BOOL exclusiveTouch

frame

フレームの指定。

@property(nonatomic)CGRect frame

hidden

YESならビューを隠す。

@property(nonatomic, getter=isHidden)BOOL hidden

layer

ビューのレンダリングに使用されるコアアニメーションレイヤーを指定。
このプロパティは読み取り専用で決して値はnilにならない。

@property(nonatomic, readonly, retain)CALayer *layer

multipleTouchEnabled

YESならばマルチタッチイベントを受け付ける。デフォルト:NO

@property(nonatomic, getter=isMultipleTouchEnabled)BOOL multipleTouchEnabled

opaque

YESならば透過できる。デフォルト:YES

@property(nonatomic, getter=isOpaque)BOOL opaque

subviews

サブビューを取得する。読み取りのみ。

@property(nonatomic, readonly, copy)NSArray *subViews

superview

親ビューを取得する。無い場合はnilになる。読み取りのみ。

@property(nonatomic, readonly)UIView *superview

tag

アプリケーション内のビューオブジェクトを同一に使用するための値を指定。デフォルト:0

@property(nonatomic)NSInteger tag

transform

トランスフォームを指定。
デフォルトではビューの変更が行われない恒等変換に設定されている。

@property(nonatmic)CGAffineTransform transform

userInteractionEnabled

YESならばタッチイベントやキーイベントが有効になる。デフォルト:YES

@property(nonatomic, getter=isUserInteractionEnabled)BOOL userInteractionEnabled

window

ウインドウオブジェクトを明示。存在しない場合値はnilになる。読み取りのみ。

@property(nonatomic, readonly)UIWindow *window

クラスメソッド

areAnimationEnabled

アニメーションが有効か無効かを返す。

+ (BOOL)areAnimationEnabled

beginAnimations:context:

アニメーションブロックの開始。

+ (void)beginAnimations:(NSString *)animationID context:(void *)context

commitAnimations

アニメーションブロックの終了。

+ (void)commitAnimations

layerClass

ビューレイヤーのインスタンスを作成するためのクラスを返す。

+ (class)layerClass

setAnimationBeginsFromCurrentState:

YESならただちにアニメーションを開始させる。

+ (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState

setAnimationCurve:

アニメーション実行中の相対的な速度を設定する。

+ (void)setAnimationCurve:(UIViewAnimationCurve)curve

setAnimationDelay:

commitAnimationsメソッドから戻ってから、実際にアニメーションを開始するまでの遅延時間を設定する。

+ (void)setAnimationDelay:(NSTimeInterval)delay

setAnimationDelegate:

アニメーションデリゲートの設定。
デリゲートを利用することでアニメーションの開始時と終了時にメッセージを受信できる。

+ (void)setAnimationDelegate:(id)delegate

setAnimationDidStopSelector:

アニメーション終了時にメッセージを受信するセレクタを指定する。

+ (void)setAnimationDidStopSelector:(SEL)selector

setAnimationDuration:

アニメーションを実行する秒数を指定する。

+ (void)setAnimationDuration:(NSTimeInterval)duration

setAnimationRepeatAutoreverses:

アニメーションが目標値に達したら、自動的に巻き戻すかどうかを設定する。

+ (void)setAnimetionRepeatAutoreverses:(BOOL)repeatAutoreverses:

setAnimationRepeatCount:

アニメーションの繰り返し回数を設定する。

+ (void)setAnimationRepeatCount:(float)repeatCount

setAnimationEnabled:

アニメーションを有効/無効にする。

+ (void)setAnimationEnabled:(BOOL)enabled

setAnimationStartDate:

commitAnimationsメソッドから戻った後に、アニメーションの開始日を設定する。

+ (void)setAnimationStartDate:(NSDate *)startTime

setAnimationTransition:forView:cache:

アニメーションの場面転換時の動作を指定する。

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView*)view cache:(BOOL)cache

 
//右回転の動作を指定
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
 

setAnimationWillStartSelector:

アニメーション開始時にメッセージを受信するセレクタを指定する。

+ (void)setAnimationDidStartSelector:(SEL)selector

インスタンスメソッド

addSubView:

親ビューにサブビューを追加する。
このメソッドは、親のサブビューリストの末尾に、サブビューを追加する。

- (void)addSubView:(UIView *)view

bringSubviewToFront:(UIView *)view

親ビュー内の既存のサブビューの順番を変更する。
指定したサブビューのインデックスを一番手前に移動する。

- (void)bringSubviewToFront:

convertPoint:fromView:

レシーバ上での任意の座標を指定したビューのローカル座標系に変換して返す。

- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view

convertPoint:toView:

指定したビュー上での任意の座標をレシーバのローカル座標系に変換して返す。

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view

convertRect:fromView:

レシーバ上での任意の矩形座標を指定したビューのローカル座標系に変換して返す。

- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view

convertRect:toView:

指定したビュー上での任意の矩形座標をレシーバのローカル座標系に変換して返す。

- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view

didAddSubView:

レシーバにビューが追加されたときこの処理が呼ばれる。

- (void)didAddSubView:(UIView *)subview

didMoveToSuperview

親ビューから動いたときに呼び出される。
ビューに加わったとき、ビューから削除されたときなども含まれる。

- (void)didMoveToSuperview

didMoveToWindow

ビューがサブビューとして加わったときにこの処理が呼ばれる。

- (void)didMoveToWindow

drawRect:

ビューを描画する。

- (void)drawRect:(CGRect)rect

– endEditing:

ビュー(またはその埋め込まれたテキストフィールド)のファーストレスポンダステータスを破棄させる。

- (BOOL)endEditing:(BOOL)force

exchangeSubviewAtIndex:withSubviewAtIndex:

親ビュー内の既存のサブビューの順番を変更する。
インデックスで指定したサブビューの順番を入れ替える。

- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2

hitTest:withEvent:

タッチイベントがそのビューで発生したかどうかを判断する。
座標とイベントを指定できる。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

initWithFrame:

指定したフレーム矩形でビューのインスタンスを作成する。

- (id)initWithFrame:(CGRect)aRect

 
//UIViewクラスのインスタンスを新規に作成し、他のビューのコンテナとして使用する。
CGRect viewRect = CGRectMake(0, 0, 100, 100);
UIView* myView = [[UIView alloc] initWithFrame:viewRect];
 

insertSubview:aboveSubview:

親のサブビューリストの指定したビューの上部にサブビューを挿入する。

- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview

insertSubview:atIndex:

親のサブビューリストの指定したインデックスにサブビューを挿入する。

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index

insertSubview:belowSubview:

親のサブビューリストの指定したビューの下部にサブビューを挿入する。

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview

isDescendantOfView:

ビューが親ビューのビュー階層内に含まれているかどうかを判別する。

- (BOOL)isDescendantOfView:(UIView *)view

layoutIfNeeded

強制的にレイアウトを実行する。

- (void)layoutIfNeeded

layoutSubviews

サブビューの配置を調整する。

- (void)layoutSubviews

pointInside:withEvent:

タッチイベントがそのビューで発生したかどうかを判断する。

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

removeFromSuperview

親ビューからサブビューを削除する。
※親ビューではなくサブビューのremoveFromSuperviewメソッドを呼び出す必要がある。

- (void)removeFromSuperview

sendSubviewToBack:

親ビュー内の既存のサブビューの順番を変更する。
指定したサブビューのインデックスを一番後ろに移動する。

- (void)sendSubviewToBack:(UIView *)view

setNeedsDisplay

ビューの一部を再描画する必要があることをシステムに通知する。

- (void)setNeedsDisplay

setNeedsDisplayInRect

ビューの一部を再描画する必要があることをシステムに通知する。
フレーム矩形を指定できる。

- (void)setNeedsDisplayInRect:(CGRect)invalidRect

setNeedsLayout

レシーバーがサイズを変更しようとする時にこの処理が呼ばれる。

- (void)setNeedsLayout

sizeThatFits

サブビューに対して最適なサイズを計算して返す。

- (CGSize)sizeThatFits:(CGSize)size

sizeToFit

描画対象の大きさに合わせてビューのサイズを調整する。

- (void)sizeToFit

viewWithTag

タグ付きのビューを検索する。

- (UIView *)viewWithTag:(NSInteger)tag

willMoveToSuperview

新しいビュー階層に加えられた時にこの処理が呼ばれる。

- (void)willMoveToSuperview:(UIView *)newSuperview

willMoveToWindow

ウインドウからビューが動いたときにこの処理が呼ばれる。

- (void)willMoveToWindow:(UIView *)newWindow

willRemoveSubview

ビューのサブビューが削除されたときにこの処理が呼ばれる。

- (void)willRemoveSubview:(UIView *)subview

コンスタント

UIViewAnimationCurve

アニメーションカーブ説明
UIViewAnimationCurveEaseInEaseOut始めはゆっくり、徐々に加速、中間あたりから減速。
UIViewAnimationCurveEaseInアニメーションを早く進める。
UIViewAnimationCurveEaseOutアニメーションをゆるやかに進める。
UIViewAnimationCurveLinearアニメーションを等速で進める。

UIViewContentMode

コンテンツモード説明
UIViewContentModeScaleToFillビューのコンテンツは、常に新しいフレームサイズに合わせて拡大縮小される。
UIViewContentModeScaleAspectFitビューのコンテンツは、アスペクト比を保持した状態で、新しいフレームサイズに合わせて拡大縮小される。
UIViewContentModeScaleAspectFillビューのコンテンツは、アスペクト比を保持した状態で、新しいフレームサイズに合わせて切り抜かれる。
UIViewContentModeRedraw強制的にビューのコンテンツを無効にして、ビューのdrawRect:メソッドを呼び出す。
UIViewContentModeCenterビューのコンテンツは、矩形の中央にに表示される。
UIViewContentModeTopビューのコンテンツは、矩形の上辺に沿って表示される。
UIViewContentModeBottomビューのコンテンツは、矩形の下辺に沿って表示される。
UIViewContentModeLeftビューのコンテンツは、矩形の左辺に沿って表示される。
UIViewContentModeRightビューのコンテンツは、矩形の右辺に沿って表示される。
UIViewContentModeTopLeftビューのコンテンツは、矩形の左上角に表示される。
UIViewContentModeTopRightビューのコンテンツは、矩形の右上角に表示される。
UIViewContentModeBottomLeftビューのコンテンツは、矩形の左下角に表示される。
UIViewContentModeBottomRightビューのコンテンツは、矩形の右下角に表示される。

UIViewAutoresizing

自動サイズ変更マスク説明
UIViewAutoresizingNoneこの定数を設定すると、ビューの自動サイズ変更は行われない。
UIViewAutoresizing-FlexibleHeightこの定数を設定すると、ビューの高さは、スーパービューの高さの変化に比例して変更されます。設定しない場合、スーパービューの高さの変化に比例したビューの高さの変更は行われません。
UIViewAutoresizing-FlexibleWidthこの定数を設定すると、ビューの左端は、スーパービューの幅の変化に比例して再配置される。設定しない場合、ビューの左端とスーパービューの左端との距離は変更されない。
UIViewAutoresizing-FlexibleLeftMarginこの定数を設定すると、ビューの右端は、スーパービューの幅の変化に比例して再配置される。設定しない場合、ビューの右端とスーパービューの右端との距離は変更されない。
UIViewAutoresizing-FlexibleRightMarginこの定数を設定すると、ビューの下端は、スーパービューの高さの変化に比例して再配置される。設定しない場合、ビューの下端とスーパービューの下端との距離は変更されない。
UIViewAutoresizing-FlexibleBottomMarginこの定数を設定すると、ビューの上端は、スーパービューの高さの変化に比例して再配置される。設定しない場合、ビューの上端とスーパービューの上端との距離は変更されない。
UIViewAutoresizing-FlexibleTopMarginこの定数を設定すると、ビューの上端は、スーパービューの高さの変化に比例して再配置される。設定しない場合、ビューの上端とスーパービューの上端との距離は変更されない。

UIViewAnimationTransition

アニメーショントランジション説明
UIViewAnimationTransitionNoneトランジションは指定されない。
UIViewAnimationTransitionFlipFromLeft右回転する。
UIViewAnimationTransitionFlipFromRight左回転する。
UIViewAnimationTransitionCurlUp上向きにカーリングする。
UIViewAnimationTransitionCurlDown下向きにカーリングする。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-28 (月) 18:23:55 (2182d)