みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

iPhoneアプリプログラミング

iPhoneアプリ開発超初心者です。

「逆引きObjective-C for iPhoneアプリ」というサイトの中の

http://www.objectivec-iphone.com/UIKit/UIImageView/UIImageView.html

に、画像を表示するサンプルプログラムとして

- (void)viewDidLoad
{
[super viewDidLoad];

// UIImageViewの初期化
CGRect rect = CGRectMake(10, 10, 250, 250);
UIImageView *imageView = [[UIImageView alloc]initWithFrame:rect];

// 画像の読み込み
imageView.image = [UIImage imageNamed:@"lena.png"];

// UIImageViewのインスタンスをビューに追加
[self.view addSubview:imageView];
}

が紹介されているのですが、

メソッド
- (IBAction)executeView:(id) sender {

  // 画像表示

}

の中で、画面上の特定位置への画像表示を指定する方法を教えてください。

上記のサンプルプログラムとメソッドを組み合わせるようなことをするのでしょうか?

なにぶん超初心者で的外れなことを言っているかもしれませんが、よろしくお願いします。

投稿日時 - 2014-05-17 22:50:52

QNo.8599528

困ってます

質問者が選んだベストアンサー

> メソッド
> - (IBAction)executeView:(id) sender {
>   // 画像表示
> }

は、あなたが作ったメソッドなのだと思いますが、
どんな時に呼ばれるメソッドですか?

ボタンを押したときに呼ばれるようにしているメソッドなら
とりあえず

> // UIImageViewの初期化
> CGRect rect = CGRectMake(10, 10, 250, 250);
> UIImageView *imageView = [[UIImageView alloc]initWithFrame:rect];
>
> // 画像の読み込み
> imageView.image = [UIImage imageNamed:@"lena.png"];
>
> // UIImageViewのインスタンスをビューに追加
> [self.view addSubview:imageView];

をそのメソッドの中に書けば指定位置に画像を表示できると思います。

ただ、addSubviewはビューを追加するメソッドですので
このままだとボタンを押すたびに新しいイメージビューが
どんどん上に重ねられていき、どんどんメモリを消費します。

既にビューを追加済みなら、新たに追加しないようにするか
古いビューを一旦削除した上で新しいビューを追加するような
処理は必要だと思います。

投稿日時 - 2014-05-18 11:26:51

お礼

ご回答ありがとうございます。

ご推察のとおり、ボタンを押したときに呼び出されるメソッドです。

ご回答の内容に沿ってプログラミングを続けてみます。

投稿日時 - 2014-05-18 20:36:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問