• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:objective-c 画像変更の処理について)

Objective-Cで画像変更の処理方法を教えてください

このQ&Aのポイント
  • UIViewControllerをスーパークラスに持つクラスAに、UIImageViewで画像を画面全体に貼付け、クラスBとの画面遷移を行えるようにしています。しかし、クラスBに配置したUIButtonを押すとクラスAの画像を変更する方法がわかりません。
  • アクセサメソッドやCoreDataを使用してもうまくいかないため、他の方法を探しています。
  • Objective-CでクラスBを設定画面とし、クラスAの画像を変更する方法について教えてください。

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

  • ベストアンサー
  • anyhelp
  • ベストアンサー率43% (82/187)
回答No.1

前提として画像のリソースをビルド時にバンドルするものとして説明をします。ClassBにはimageViewというpropertyがあるものとします。ClassBにproperty(imagePathとします)を作成します。ClassAにClassBインスタンスへの参照(imageViewControllerとします)を作成します。 本が手元にあるという事なので、実現のステップだけ解説します。 起動時) ClassBのインスタンスを作成する。 imageViewControllerにClassBのインスタンスを代入します。 ClassAのボタンを押した時) ClassAでやる事: imageViewController.imagePathに画像リソースのパスを代入します。 imageViewControllerを表示します。 ClassBでやる事: self.imagePathからUIImageのインスタンスを作成する。 ClassBのviewWillAppearメソッド内でimageView.imageにUIImageのインスタンスを代入する。

rnouveau
質問者

お礼

お礼が遅くなりました。 ようやく解決することができました。 迅速な対応ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • senbei12
  • ベストアンサー率42% (6/14)
回答No.2

StoryBoardを使用しSegueで画面遷移させているなら、遷移元のUIViewControllerサブクラス(クラスB)でprepareForSegue:sender:をオーバーライドすれば、第一引数のUIStoryboardSegueオブジェクトから遷移先のUIViewControllerサブクラス(クラスA)のインスタンスが取得できます。 クラスA側にUIImageViewのプロパティがあればそれを参照できます。 クラスB.m - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { クラスA* controller = segue. destinationViewController; //遷移先のViewController controller.imageView = ... //画像変更処理 }

rnouveau
質問者

お礼

説明不足で申し訳ありません。 Interface Builderを使っていないことを、記述するのを忘れていました。 ですがこの情報が、解決の糸口になりました。 ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A