Obj-Cで生成元のViewへ文字列を表示させたい

このQ&Aのポイント
  • iOS SDK(Objective-C)を勉強中なのですが、あるView(TestViewController.view)から別のView(ButtonViewController.view)を表示し、表示したViewにあるボタンを押した時に、生成元のView(TestViewController.view)のラベル(test_label)に文字列を表示したいのですが、色々やってみたものの上手く行かず、どの用に実装するのが正しいのか行き詰まってしまいました。
  • iOS SDKのObjective-Cで、あるViewから別のViewを表示し、ボタンを押すと生成元のViewのラベルに文字列を表示したいですが、うまくいきません。どのように実装すればよいでしょうか。
  • iOS SDKのObjective-Cで、あるViewから別のViewを表示し、そのViewのボタンを押したときに、元のViewのラベルに文字列を表示したいです。実装方法を教えてください。
回答を見る
  • ベストアンサー

Obj-Cで生成元のViewへ文字列を表示させたい

iOS SDK(Objective-C)を勉強中なのですが、あるView(TestViewController.view)から別のView(ButtonViewController.view)を表示し、表示したViewにあるボタンを押した時に、生成元のView(TestViewController.view)のラベル(test_label)に文字列を表示したいのですが、色々やってみたものの上手く行かず、どの用に実装するのが正しいのか行き詰まってしまいました。どなたか手助けよろしくお願いします。 //*** TestViewController.h #import <UIKit/UIKit.h> #import "ButtonViewController.h" @interface TestViewController : UIViewController { IBOutlet UILabel *test_label; ButtonViewController *buttonViewController; } - (IBAction) pushButton:(id)sender; @end //*** TestViewController.m #import "TestViewController.h" @implementation TestViewController - (void)viewDidLoad { [super viewDidLoad]; test_label.text = @"Push Button"; } //ButtonViewを表示 - (IBAction) pushButton:(id)sender { buttonViewController = [[ButtonViewController alloc] initWithNibName:@"ButtonView" bundle:nil]; [self.view addSubview:buttonViewController.view]; } - (void)dealloc { [buttonViewController release]; [super dealloc]; } @end //*** ButtonViewController.h #import <UIKit/UIKit.h> @interface ButtonViewController : UIViewController { } - (IBAction) pushButtonSub:(id)sender; @end //*** ButtonViewController.m #import "ButtonViewController.h" @implementation ButtonViewController - (void)viewDidLoad { [super viewDidLoad]; } - (IBAction) pushButtonSub:(id)sender { // ??? ← このボタンを押したときにtest_labelへ表示させたい } - (void)dealloc { [super dealloc]; } @end

  • cloze
  • お礼率25% (2/8)

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

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.5

> //*** ButtonViewController.h > @interface ButtonViewController : UIViewController { > UIViewController *superviewController; > } > @property (nonatomic, retain) UIViewController *superviewController; > - (IBAction) pushButtonSub:(id)sender; 「UIViewController *superviewController;」ではなく、「TestViewController *superviewController;」としてください。 UIViewControllerにはとうぜん「test_label」というプロパティがありませんから、コンパイラはそれを構造体と認識し、「request for member 'test_label' in something not a structure or union」というエラーメッセージを出します。TestViewControllerなら、test_labelというプロパティがあるので、エラーになりません。 しかし、これだとTestViewController.hをimportしていないので、「その型は理解できない」というエラーが出ます。そしてヘッダファイルで「#import "TestViewController.h”と宣言すると、別の問題が起きます。回答No.3で課題とした問題です。 そこでButtonViewController.hのヘッダファイルには、「@class TestViewController」という前方宣言を記述しておきます。 「前方宣言」は、C言語の用語ではなく、Objective-Cの用語です。お手持ちのObjective-C、iPhone SDKの参考書でお調べください。(説明がないかもしれませんが……) ※プロパティはObjective-C 2.0で追加された文法ですが、ドットでつなぐ記述法に批判が出ました。構造体の要素を記述するのと、区別ができない(しにくい)ではないか?というのが、批判の骨子です。じっさい不備な記述だと、コンパイラも区別ができなくて、混乱するので、問題なしとはいえないようです。

cloze
質問者

補足

なるほど。リファレンスを見たりしても@Classというのがたまに出てきていたが、何だろう(省略できるのか?!)と正直思っていました。 お恥ずかしいです... 課題の内容については、再起的になるし、複数のインターフェースで、互いのクラス名を使用してインポートした場合、そもそもエラーがでてしまう。しかしヘッダをインポートしない場合、プロパティとして宣言できないと悩んだあげく、UIViewControllerで宣言してしまっていました。 前方宣言を文献で読んでみて、実際にコーディングした所、ビルドでき、想定していた動作を得ることができました。 最初に練習で作ったアプリは、IBでViewをたくさん用意し、hiddenプロパティを変更していたような作りで始めてしまった為、クラス間の操作でとにかくはまってしまいましたが、詳しい理解はまだまだですが、色々親切に教えていただいたおかげで、???だらけだった所に、光が見えてきた気がして、楽しくなってきました。 長々とおつきあいしていただき、 本当にありがとうございました!!!

その他の回答 (5)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.6

> 課題の内容については、再起的になるし、 おっしゃるとおり、正解です。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.4

> - (IBAction) pushButtonSub:(id)sender { > superviewController = [[UIViewController alloc] init]; > superviewController.test_label.text = @"Test";//ここでエラーが発生 > } なぜUIViewControllerインスタンスを新たに作って、それをすでにTestViewControllerのインスタンスが代入されているはずの、superviewControllerに代入するのでしょうか? これでは「不可能を可能にする」ではなくて、「可能を不可能にする」ことになっています。

cloze
質問者

補足

なるほど。ButtonViewControllerクラスを生成する際に、selfを代入しているので、生成する必要はないですね。 superviewControllerの宣言に問題があったりするのでしょうか? 再び、混乱してきました。。。 TestViewControllerクラスでButtonViewControllerインスタンスを生成する際に、buttonViewController.superviewController = self; をすることで、TestViewControllerがインスタンスを持っていることが分かってきたので、ButtonViewControllerクラスのプロパティでsuperviewControllerを宣言しておき、superviewController.test_label.text = @"Test"; で取得できると思ったのですが、いざ実行すると今回も「request for member 'test_label' in something not a structure or union」で怒られてしまいました。 //*** TestViewController.h #import "ButtonViewController.h" @interface TestViewController : UIViewController { IBOutlet UILabel *test_label; } - (IBAction) pushButton:(id)sender; //*** TestViewController.m(viewDidLoad、dealloc 割愛) #import "TestViewController.h" @implementation TestViewController - (IBAction) pushButton:(id)sender { ButtonViewController *buttonViewController = [[ButtonViewController alloc] initWithNibName:@"ButtonView" bundle:nil]; buttonViewController.superviewController = self; [self.view addSubview:buttonViewController.view]; } //*** ButtonViewController.h @interface ButtonViewController : UIViewController { UIViewController *superviewController; } @property (nonatomic, retain) UIViewController *superviewController; - (IBAction) pushButtonSub:(id)sender; //*** ButtonViewController.m(viewDidLoad、dealloc 割愛) #import "ButtonViewController.h" #import "TestViewController.h" @implementation ButtonViewController @synthesize superviewController; - (IBAction) pushButtonSub:(id)sender { superviewController.test_label.text = @"Test"; [self.view removeFromSuperview]; }

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.3

> ただ、調子に乗って別解にいどんだのですが、ViewControllerにselfを代入する仕組みが理解できず、とそのメンバーは違うんじゃない的な事をいわれてしまいました。 > superviewControllerの宣言が違うのではと、TestViewController *superviewControllerともしてみたのですが、これもNGでした。 ButtonViewControllerに、TestViewControllerをimportしていないからではないですか? なお、「#import "TestViewController.h"」は、ヘッダファイル(ButtonViewController.h)ではなく、実装ファイル(ButtonViewController.m)に宣言してください。なぜそうするかは、課題としてすこしお考えになってください。 この手法は、発展させるとObjective-Cではおなじみの、Delegateをオリジナルで実装することにつながります。重要なトレーニングになります。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.2

回答No.1の「おまけ」の部分について。とんだ勘違いを書いてしまいました。addSubviewしたあとに、Viewをreleaseするのは、正しいのですが、ViewControllerをReleaseしてはいけません。このふたつを区別せずに、ごっちゃにしていました。間違ったことを書いてしまいました。すみません。

cloze
質問者

補足

ヒントありがとうございます! 色々試しまくり、何をどう説明すればいいか良く分からず、???のように質問してしまいました。 すみませんでした。 やっぱり、根本的なところが分かっていないというのを痛感しました。 superviewプロパティを利用するヒントを参考に、 propertyでUILabelを指定し、Tagを付け、ButtonViewController側で生成した所、目的の内容を実現できました!本当にありがとうございます! UILabel *superViewLabel = (UILabel *)[[self.view superview] viewWithTag:100]; superViewLabel.text = @"Test"; 本当にありがとうございます! ただ、調子に乗って別解にいどんだのですが、ViewControllerにselfを代入する仕組みが理解できず、とそのメンバーは違うんじゃない的な事をいわれてしまいました。 superviewControllerの宣言が違うのではと、TestViewController *superviewControllerともしてみたのですが、これもNGでした。 根本的なところだとは思うのですが、書籍を読んでもいまひとつ分からず、駄目なところを指摘してもらえるとありがたいです。 //*** TestViewController.h @interface TestViewController : UIViewController { IBOutlet UILabel *test_label; ButtonViewController *buttonViewController; } @property (nonatomic, retain) ButtonViewController *buttonViewController; - (IBAction) pushButton:(id)sender; //*** TestViewController.m @synthesize buttonViewController; - (void)viewDidLoad { [super viewDidLoad]; test_label.tag = 100; test_label.text = @"Push Button"; } - (IBAction) pushButton:(id)sender { buttonViewController = [[ButtonViewController alloc] initWithNibName:@"ButtonView" bundle:nil]; buttonViewController.superviewController = self; [self.view addSubview:buttonViewController.view]; } - (void)dealloc { [buttonViewController release]; [super dealloc]; } //*** ButtonViewController.h @interface ButtonViewController : UIViewController { UIViewController *superviewController; } @property (nonatomic, retain) UIViewController *superviewController; - (IBAction) pushButtonSub:(id)sender; //*** ButtonViewController.m @synthesize superviewController; - (void)viewDidLoad { [super viewDidLoad]; } - (IBAction) pushButtonSub:(id)sender { superviewController = [[UIViewController alloc] init]; superviewController.test_label.text = @"Test"; //ここでエラーが発生 } - (void)dealloc { [superviewController release]; [super dealloc]; } ※import,@endなどは省略しています。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

あなたのお書きになったコードを読み進めてみましたが…… - (IBAction) pushButtonSub:(id)sender { // ??? ← このボタンを押したときにtest_labelへ表示させたい } これでは、質問の丸投げ、「ボクの代わりに、コード書いてちょーダイ!」といっているに等しい態度です。 ヒントだけ書いておきます。 TestViewController.viewとButtonViewController.viewは、親ビュー(superview)と子ビュー(subview)の関係にあります。UILabel *test_labelも、TestViewController.viewの子ビューです。プロパティsuperviewとsubviewsでたどっていって、ButtonViewController.viewから、test_labelのインスタンスを取得することができます。 別解としては、ButtonViewControllerのプロパティとして「superviewController」とでもいうようなものを作っておき、TestViewControllerでButtonViewControllerを生成したときに、「buttonViewController.superviewController = self」とすれば、ButtonViewControllerからTestViewControllerを、インスタンスとして取得できます。 おまけ: - (IBAction) pushButton:(id)sender { buttonViewController = [[ButtonViewController alloc] initWithNibName:@"ButtonView" bundle:nil]; [self.view addSubview:buttonViewController.view]; } - (void)dealloc { [buttonViewController release]; [super dealloc]; } ViewをaddSubviewすると、Viewはコピーされます。なので、buttonViewControllerは、addSubviewの直後にreleaseしましょう。 「[[[ButtonViewController alloc] initWithNibName:@"ButtonView" bundle:nil] autorelease]」として、おまかせでreleaseしてもいいでしょう。 なお、removeFromSuperviewで、子ビューを切り離すとき、子ビューはreleaseされます。別にrelease処理する必要はありません。

関連するQ&A

  • Objective-C,viewが動作しない

    IBを使わないカメラアプリを作っています。 AppDelegate.m内のapplication didFinishLaunchingメソッド内で生成したwindowとviewはコンパイルして表示確認できたのですが、viewControllerで書いたUIImagePickerViewControllerのviewが出てきません。 そもそもviewController.mのloadViewメソッドやviewDidLoadメソッドが動いていません。(メソッド内にNSLogを書いてコンパイルしてもログに出ない) viewController.h #import <UIKit/UIKit.h> @interface CameraViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate> { @private UIImagePickerController* _imagePicker; } @property(nonatomic,retain) UIImagePickerController *imagePicker; @end viewController.m #import "CameraViewController.h" @implementation CameraViewController @synthesize imagePicker=_imagePicker; - (void)dealloc { [super dealloc]; } #pragma mark - View lifecycle - (void)loadView { [super loadView]; //UIImagePickerControllerの作成 if(![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){ return; } UIImagePickerController* imagePicker; imagePicker = [[UIImagePickerController alloc] init]; [imagePicker autorelease]; imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker.allowsEditing=NO; imagePicker.delegate = self; //imagePickerのviewを最上部に [self presentModalViewController:imagePicker animated:YES]; //シャッターを切る [self.imagePicker takePicture]; } @end viewControllerが機能しない原因としてそういった可能性が考えられるのでしょうか? あれこれ調べてみましたが煮詰まっています。よろしくお願いします

  • Obj-CでViewコントローラのラベルに表示する

    Objective-Cであるクラスから、特定のViewControllerのもつLabel要素へテキストを表示したく、色々試してみたのですが、うまく動作しませんでした。 詳しい方、ぜひアドバイスお願いします。 □やりたいこと クラス側から、ViewControllerの持つ要素を操作したい □テストで使用したコード test_buttonをクリックすると、lbl_mesへ文字列を表示する ----------------- ■classTest.h #import "helloViewController.h" ----------------- ■classTest.m #import "classTest.h" - (void) makeStr { helloViewController *hv = [[helloViewController alloc] init]; hv->lbl_mes.text = @"HELLO WORLD"; [hv release]; } ----------------- ■helloViewController.h #import "classTest.h" @interface helloViewController : UIViewController { @public IBOutlet UILabel* lbl_mes; } @property(nonatomic,retain) IBOutlet UILabel* lbl_mes; -(IBAction) test_button; ----------------- ■helloViewController.m #import "helloViewController.h" -(IBAction) test_button{ classTest *clst = [[classTest alloc] init]; [clst makeStr]; [clst release]; } よろしくお願いします。

  • IBAction内でのEXC_BAD_ACCES

    iPhone開発関係で質問です。 IBAction内でNSMutableDictionaryを参照しようとするとEXC_BAD_ACCESSとなってしまい、困っています。メモリ管理が甘いのでしょうか?? プログラムの概要は以下のとおりです。 問題をご存知の方、ご教授下さい。よろしくお願いします。 ---------- FirstViewController.h @interface FirstViewController : UIViewController { NSMutableDictionary *testDic; } @property (nonatomic , retain) NSMutableDictionary *testDic; - (IBAction) TestBtnTapped; @end ---------- FirstViewController.m #import "FirstViewController.h" @implementation FirstViewController @synthesize testDic; /* testDicの受け渡しがうまくいかない TestBtnTappedでEXC_BAD_ACCESS発生 IBActionのせい? */ - (IBAction) TestBtnTapped{ NSlog(@"%@" , testDic); } - (void)viewDidLoad { [super viewDidLoad]; testDic = あるNSMutableDictionaryデータ NSlog(@"%@" , testDic ); //ここでは表示される } - (void)dealloc { [super dealloc]; }

  • Objective-Cのメモリ管理

    はじめまして。 iphoneアプリを作っていてメモリ管理について不明な点があるので教えて下さい。 memoryViewController.h ============================================== #import <UIKit/UIKit.h> @interface memoryViewController : UIViewController { id obj; } @property(retain)id obj; @end =============================================== memoryViewController.mm(一部) =============================================== @implementation memoryViewController @synthesize obj; - (void)viewDidLoad { [super viewDidLoad]; self.obj = [[NSObject alloc] init]; NSLog(@"count = %d", [obj retainCount]); } =============================================== 下記の部分についてです。 self.obj = [[NSObject alloc] init]; 「self.」を付けた場合retainCountは2で、付けなかった場合retaionCountは1になります。 何故違ってくるのかが理解できません。 教えて下さい。

  • objectiv-cで困っています。教えてください

    objectiv-cの勉強を始めたばかりです。ネットで調べながら進めているのですが、プロジェクト内のテキストファイルではなく、サーバにあるテキストファイルの内容を読み込み、NSLogに出力しようとしているのですが、うまくいきません。xxxxxxxxxxxの部分にテキストファイルのあるURLを入れています。 -----------------textloadViewController.h------------------------------ #import <UIKit/UIKit.h> @interface textloadViewController : UIViewController @end -----------------textloadViewController.m------------------------------ #import "textloadViewController.h" @interface textloadViewController () @end @implementation textloadViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. NSError *error = nil; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"xxxxxxxxxxx" ofType:@"txt"]; NSString *string = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error]; NSLog(@"%@", string); } @end 外部のテキストファイルを読み込む方法を教えてください。よろしくお願いします。

  • iPhone SDK UIViewに追加したUIButtonが反応しな

    iPhone SDK UIViewに追加したUIButtonが反応しない。。。 インターフェイスビルダーにあるUIViewにボタンを追加した場合は、 ちゃんとボタンは反応するんですが、プログラムから追加したUIViewにボタンをおくと UIControlEventTouchUpInsideのイベントに反応しません。 一応、こちらに簡単なプロジェクトもあげておきました。 http://gemic.jp/xcode/buttonOnView.zip 詳細は、下記です。 View-Based Applicationテンプレートで作成したプロジェクト(buttonOnView) buttonOnViewViewController.h #import <UIKit/UIKit.h> @interface buttonOnViewViewController : UIViewController { UIView *theView; } @end ----------------------------------------------------------------- buttonOnViewViewController.m - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor redColor]; UIButton *btn1 = [[UIButton buttonWithType:UIButtonTypeRoundedRect]retain]; [btn1 initWithFrame:CGRectMake(60, 90, 200, 50)]; //このボタンは反応する↓ [self.view addSubview:btn1]; [btn1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(createView:) forControlEvents:UIControlEventTouchUpInside]; } - (IBAction)createView:(UIButton*)sender { theView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [theView setBackgroundColor:[UIColor greenColor]]; [self.view addSubview:theView]; UIButton *btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect]retain]; [btn initWithFrame:CGRectMake(60, 150, 200, 50)]; //このボタンは反応しない↓ [theView addSubview:btn]; [btn addTarget:self action:@selector(deleteView:) forControlEvents:UIControlEventTouchUpInside]; } - (IBAction)deleteView:(UIButton*)sender { NSLog(@"touch event reaction"); [theView removeFromSuperview]; } ----------------------------------------------------------------- いろいろググってみたり、DevCenterのドキュメントを探したんですが、 思ったような情報が見つからず相当はまってます。 ネットで探して見つからないってことは、凄く初歩的なことか?? と思ってるんですが、、、 どなたか、助けていただけたらありがたいです。

  • Xcode4のエラー(IPhoneアプリ)

    はじめまして。 IPhoneのアプリ作成に挑戦しています。 Xcode4のバージョンは 4.5.1です。 【はじめてのXcode4プログラミング】という参考書でIPhoneのカメラアプリを作る章があり、写真ライブラリから選択した画像を表示できるとのことです。 しかし、XcodeでRun(実行)すると、ViewController.mの最後2行【UIImage *originalImage =[info objectForkey:UIImagePickerControllerOriginalImage];】が赤くなり、【’dismissModalViewControllerAnimated’is deprecated: first deprecated in iOS 6.0】というエラー表示がでます。 全体のコードは下記の通りです。 ネットで調べてみましたが、解決方法がわかりません。 先に進めず困っています。 どうか解決方法を教えてください。 よろしくお願い致します。 ●ViewController.h// // ViewController.h // CameraApp // #import @interface ViewController : UIViewController - (IBAction)pressCameraButton:(id)sender; @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end ●ViewController.m // // ViewController.m // CameraApp // #import “ViewController.h” @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)pressCameraButton:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentModalViewController:picker animated:YES]; } - (void)imagePickerController:(UIImagePickerController*)Picker didFinishPickingMediaWithInfo:(NSDictionary*)info { [self dismissModalViewControllerAnimated:YES]; UIImage *originalImage = [info objectForkey:UIImagePickerControllerOriginalImage]; self.imageView.image = originalImage; } @end

  • iOSアプリのビルドエラー(初心者です)

    以下のサイトを参考に、動画の通りにプログラムを組んでみたのですが、参考サイトの通りビルドができず、Failedとなってしまいます。 http://dotinstall.com/lessons/basic_ios/4121 参考サイトのソースコードをそのまま貼り付けてもエラーを返されたのでXCodeのバージョンの問題かな?と思ったのですが、”Text”に変わるプロパティがわからず、困っています。 該当箇所のスクリーンショットを添付しましたので、もしおわかりになりましたら教えてください。よろしくお願いします。 MAC OS X 10.7.5 XCode: Version 4.6.3 // // ViewController.m // MyFourthApp // // Created by Test on 13/09/11. // Copyright (c) 2013年 com.test. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)buttonPush:(id)sender { self.labelText.text = @"You Pushed Me!"; } @end

  • iPhone SDK - よく見る縦縞模様の背景?

    - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; } としても、縦じまの背景色にならず、透明のままです。 self.view.backgroundColor = [UIColor grayColor]; ならグレーの単色になります。 よく見る縦縞模様にしたいのですが、何が間違っているのでしょうか? このクラスは UIViewControllerから派生しました。

    • 締切済み
    • Mac
  • 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 {   // 画像表示 } の中で、画面上の特定位置への画像表示を指定する方法を教えてください。 上記のサンプルプログラムとメソッドを組み合わせるようなことをするのでしょうか? なにぶん超初心者で的外れなことを言っているかもしれませんが、よろしくお願いします。

専門家に質問してみよう