研究目的
ネイティブアプリケーション「イライラ棒」の開発
これまでの作業内容
サンプルコード「MoveMe」「HelloWorld」の解析。
MoveMeからはアイコンの画像をタッチしている指に追尾させるメソッド、HelloWorldからはタッチしている場所の色情報(RGB)のを取得する方法を勉強。
HelloWorldのコードはmain.mのみで構成され、nibファイルを用いていない。
そこで、複数の.hファイルと.mファイル、そしてnibファイルから成るMoveMeにHelloWorldの内容を移植する作業の途中で今日の作業を終了とする。
Helloworldのmain.mは下の4つのクラス(SampleAppDelegate、HelloControllr、BitMapView、CrossHairView)と2つの宣言(unsigned char *RequestImagePixelData、CGContextRef CreateARGBBitmapContext (CGImageRef inImage, CGSize size) )で構成されていることが分かった。
SampleAppDelegateの内容をMoveMeAppDelagate.mに、残りのクラスと宣言をMoveMeView.mに書き込んだ。
ビルドと実行まではうまくいったが、コンソールで読み取る値がおかしい。
なおかつ画面上で一定以上のY座標の高さに指をなぞらせるとどの値も0しか表示しなくなり、何らかエラーでデバギングも終了してしまい事態が発生した。
きっと読み取るべきViewを間違っているのだと思う。
そこで、明日はこの2つの違いについて解析していくことから始める。
MoveMeAppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application {
UIViewController *aViewController = [[UIViewController alloc] initWithNibName:@"MoveMeView" bundle:[NSBundle mainBundle]];
self.viewController = aViewController;
[aViewController release];
UIView *controllersView = [viewController view];
[window addSubview:controllersView];
[window makeKeyAndVisible];
[application setStatusBarHidden:YES];
}
HelloWorld内のmain.m
@implementation SampleAppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
HelloController *hello = [[HelloController alloc] init];
[window addSubview:hello.view];
[window makeKeyAndVisible];
[application setStatusBarHidden:YES];
}
他にも移植した際に不手際があったかもしれないので、それに付いても1から検討し直していきたい。
0 件のコメント:
コメントを投稿