-
Notifications
You must be signed in to change notification settings - Fork 336
3.1 UIView
View Programming Guide for iOS | iOS Viewプログラミン グガイド
UIView クラスは大きく分けて以下の役割を持っています。
- 独自のコンテンツ描画
- 各 View を管理するコンテナ
- アニメーション
- イベント処理
ここでは View の管理方法とカスタム UIView の作成を説明します。
ある viewA に重ねられた viewB は ViewA の SubView となります。viewB は viewA の subViews に管理されます。
上図のように、view に任意の UIView コンポーネントを複数個配置してください。IBOutlet を使用せずにプログラムから特定の UIView コンポーネントを消してください。
- for の高速列挙を使ってください。
- [obj isKindOfClass:[UIView class]] を使うことで obj が UIView クラスなのかを判定できます。
UIView インスタンスは NSinteger の tag というプロパティを持っています。ここに数値をセットすることで、View を高速に検索することが出来ます。
UIView *subView = [view viewWithTag:8];
このコードを実行することで view とその subView を深さ優先検索し該当 view があればそこで検索を終了します。
また、タグを使うことによって、ボタンのイベント処理を一つのメソッドにまとめることが出来ます。
このような場合、sender.tag で処理を振り分けることで、ボタンごとにメソッドを宣言実装する必要がなくなります。
今までに出てきた addSubView/removeFromSuperView の他にも view を insert するメソッドがあります。
– insertSubview:atIndex: -> subViews の index を指定 – insertSubview:aboveSubview: -> 指定の view の上に insert – insertSubview:belowSubview: -> 指定の view の下に insert – exchangeSubviewAtIndex:withSubviewAtIndex: -> subView の入れ替え、remove してから addSubView するよりも高速
イメージ
View の stretch 機能を使うことで画像の引き延ばし可能領域を設定することが出来ます。
「イメージ」
Interface Builder 上で設定する場合は Stretching の部分の数値を変更することで設定可能です。
- x, y : 起点から **引き延ばし不可能 ** な領域の割合を設定します
- Width, Height : x, y で決めた点から 引き延ばし可能 な領域を設定します。
はじめに
-
導入
-
1.3 UIViewController1 UIViewController のカスタマイズ(xib, autoresizing)
-
UIKit 1 - container, rotate-
-
UIKit 2- UIView -
-
UIKit 3 - table view -
-
UIKit 4 - image and text -
-
ネットワーク処理
-
ローカルキャッシュと通知
-
Blocks, GCD
-
設計とデザインパターン
-
開発ツール
-
テスト
-
In-App Purchase
-
付録