UIImageView
UIImageViewクラスは、画面上での画像表示を管理するクラスです。
画面上に画像を表示するときに使用します。
また、UIImageViewクラスにはアニメーションを行う機能もあり、複数の画像を指定してパラパラマンガみたいな表示を行うこともできます。
UIImageViewのクラス階層
UIImageViewの生成
// 生成例
UIImageView *iv = [[UIImageView alloc] init];
// UIImageを指定した生成例
UIImage *image = [UIImage imageNamed:@"Sample.png"];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];
UIImageViewのプロパティ
プロパティ名/型 | 読専 | 説明 |
---|---|---|
image (UIImage) |
表示する画像を設定する (例)iv.image = [UIImage imageNamed:@"Sample.png"]; |
|
animationImages (NSArray) |
アニメーションのコマを設定 (例)iv.animationImages = arr; ※arrはUIImageのNSArray |
|
animationRepeatCount (NSInteger) |
アニメーションのリピート回数を設定 (例)iv.animationRepeatCount = 3; //3回 (例)iv.animationRepeatCount = 0; //無限 |
|
animationDuration (NSTimeInterval) |
アニメーションの1コマが切り替わる時間を設定 (例)iv.animationDuration = 0.3; //0.3秒に設定 |
|
userInteractionEnabled (BOOL) |
タッチの検知をするかしないかの設定 YES:タッチの検知をする NO:タッチの検知をしない(デフォルト) ※UIViewの同プロパティとデフォルト値が異なるので注意! (例)iv.userInteractionEnabled = YES; |
主要なプロパティのみ掲載しています。
上記「UIImageViewのクラス階層」にあるクラスのプロパティも使用できます。
UIImageViewのメソッド
メソッド名 | 説明 |
---|---|
-(void)startAnimating | アニメーションを開始させる (例)[iv startAnimating]; |
-(void)stopAnimating | アニメーションを停止させる (例)[iv stopAnimating]; |
-(BOOL)isAnimating | アニメーションが開始しているかどうかを取得する (例)BOOL b = [iv isAnimating]; |
主要なメソッドのみ掲載しています。
上記「UIImageViewのクラス階層」にあるクラスのメソッドも使用できます。
UIImageView例文
// 画像表示例文
UIImage *img = [UIImage imageNamed:@"hoge.png"];
UIImageView *iv = [[UIImageView alloc] initWithImage:img];
[self.view addSubview:iv];
// アニメーション例文
UIImage *im1 = [UIImage imageNamed:@"img1.png"];
UIImage *im2 = [UIImage imageNamed:@"img2.png"];
UIImage *im3 = [UIImage imageNamed:@"img3.png"];
NSArray *ims = [NSArray arrayWithObjects:im1, im2, im3, nil];
iv.animationImages = ims;
iv.animationDuration = 1.5;
[iv startAnimating]; // アニメーションを開始したい時に呼ぶ
[iv stopAnimating]; // アニメーションを止めたい時に呼ぶ
UIImageViewの注意点
UIImageViewにUIButtonを乗せただけだとそのUIButtonは反応しません。
それは、UIImageViewはタッチ検知に関する設定がデフォルトで無効となっているからです。
有効にしたい場合は、
userInteractionEnabledプロパティを YES に設定するとボタンが反応するようになります。
iv.userInteractionEnabled = YES;