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

解決済みの質問

iphone アプリの勉強をしていますが、文字の表示の仕方でいきずまっ

iphone アプリの勉強をしていますが、文字の表示の仕方でいきずまっています。OpenGLを使用しつつ文字列を表示したのですがどうしたらいいでしょうか?
アドバイスお願いします。

投稿日時 - 2010-08-21 09:55:51

QNo.6124552

すぐに回答ほしいです

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

いろいろ方法がありますけど、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に変換して」

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2010-08-21 14:05:50

補足

回答していただきありがとうございます。
すみません。度々の質問になってしまうのですが、メインのデリゲートへの参照を取得する方法が少しわかりません。
Renderer1のインターフェイスのなかでSampleAppDelegate* appDelegateを宣言するとerror: expected specifier-qualifier-list before"SampleAppDelegate"と出てしまいます。多分意味は、SampleAppDelegateにて宣言できないという内容だと思うのですが、
このエラーを回避するには、どうしたらいいでしょうか?

投稿日時 - 2010-08-21 20:11:41

お礼

回答していただきありがとうございます。
appDelegateのインスタンス変数へのアクセスなんとかできました。

投稿日時 - 2010-08-25 03:03:12

ANo.2

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

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

回答(3)

ANo.3

「SampleAppDelegate.h」を「import」していますか?

投稿日時 - 2010-08-21 23:54:10

補足

回答していただきありがとうございます。
すみません。度々の質問となってしまいますが。SampleAppDelegate.hをimportしたところ、appDelegateが宣言できました。本当にありがとうございます。ですがappDelegate.label_.textの内容を書き換える箇所にて error: accessing unknown 'label_' getter methodというエラーが発生してしまいます。
SampleAppDelegate.h内で@property (nonatomic,retain) IBOutlet UILabel* label_;とプロパティとして記述してみたところコンパイルは、通るのですがRender内からlabel_の内容を書き換えることができません。
度々の質問ですみませんが、このエラーの回避方法を教えてください。

投稿日時 - 2010-08-22 05:30:24

ANo.1

xjd

こんにちは。
まずは普通にUILabelを配置して、文字列をセットするのが基本中の基本でしょうね。

XCodeのOpenGLのテンプレートにある、「MainWindow.xib」にUILabelを配置して、
IBOutlet経由で文字列をセットすればいいです。

label_.text = @"Hello, OpenGL";
みたいに。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2010-08-21 11:10:17

補足

早々の回答ありがとうございます。
私の質問に対しての補足ですが、MainWindow.xibにセットしたUILabelの内容をOpenGL内の処理をしている時に書き換える方法なども教えていただければ助かります。

投稿日時 - 2010-08-21 12:03:07

あなたにオススメの質問