- ベストアンサー
iphone アプリの勉強をしていますが、文字の表示の仕方でいきずまっ
iphone アプリの勉強をしていますが、文字の表示の仕方でいきずまっています。OpenGLを使用しつつ文字列を表示したのですがどうしたらいいでしょうか? アドバイスお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
いろいろ方法がありますけど、Delegateに定義したIBOutletを、他のクラスからアクセス する方法が手っ取り早いでしょうか。 試しに、テンプレートのスクエアのY座標をリアルタイムに表示してみました。 1. メインのデリゲートで、アウトレットを定義しておいて、 @interface SampleAppDelegate : NSObject <UIApplicationDelegate> { IBOutlet UILabel* label_; } 2. 別のクラス(たとえばES1Renderer)で、メインのデリゲートへの参照を取得して SampleAppDelegate* appDelegate; appDelegate = (SampleAppDelegate *)[[UIApplication sharedApplication] delegate]; 3. ES1Rendererクラスの作画用メソッド(たとえばrender)で、ラベルに書き込む処理 appDelegate.label_.text = 「スクエアのY座標(GLFloat)をNSStringに変換して」
その他の回答 (2)
- harawo
- ベストアンサー率58% (3742/6450)
「SampleAppDelegate.h」を「import」していますか?
補足
回答していただきありがとうございます。 すみません。度々の質問となってしまいますが。SampleAppDelegate.hをimportしたところ、appDelegateが宣言できました。本当にありがとうございます。ですがappDelegate.label_.textの内容を書き換える箇所にて error: accessing unknown 'label_' getter methodというエラーが発生してしまいます。 SampleAppDelegate.h内で@property (nonatomic,retain) IBOutlet UILabel* label_;とプロパティとして記述してみたところコンパイルは、通るのですがRender内からlabel_の内容を書き換えることができません。 度々の質問ですみませんが、このエラーの回避方法を教えてください。
- xjd
- ベストアンサー率63% (1021/1612)
お礼
回答していただきありがとうございます。 appDelegateのインスタンス変数へのアクセスなんとかできました。
補足
回答していただきありがとうございます。 すみません。度々の質問になってしまうのですが、メインのデリゲートへの参照を取得する方法が少しわかりません。 Renderer1のインターフェイスのなかでSampleAppDelegate* appDelegateを宣言すると error: expected specifier-qualifier-list before"SampleAppDelegate"と出てしまいます。多分意味は、SampleAppDelegateにて宣言できないという内容だと思うのですが、 このエラーを回避するには、どうしたらいいでしょうか?