1

私はこれを数日間行う方法を理解しようとしてきましたが、成功は限られています。ビューの向きが変わったときに通知する NSNotifications を手動で処理することができたので、CGAffineTransformations を使用してツールバーを正しい向きに移動します。この種の作品は、あまりきれいではありません。私の質問は、ツールバーを OpenGL-ES ビューに追加して自動回転させるにはどうすればよいですか? 新しいviewControllerを作成し、OpenGLビューとツールバーをこのビューに追加する必要があると思いますが、これを行う正しい方法を知る、またはこれが正しいアプローチである場合でも、ビューとサブビューを操作した経験が十分ではありません. 私はそれをやってみましたが、惨めに失敗しました。

4

1 に答える 1

2

OK、私はついにそれを理解しました。あまり直感的ではありませんでしたが、機能します。この回答は次のサイトからのものです:http ://www.idevgames.com/forums/thread-1773.html

1)新しいファイルを追加します... Cocoa Touch Classes-> UIViewControllerサブクラス、GLViewControllerという名前を付けます2)GLViewController.mで、上部に#import "PaintingView.h"を追加し、loadViewメソッドで次を追加します。

CGRect    rect = [[UIScreen mainScreen] applicationFrame];
self.view = [[PaintingView alloc] initWithFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];

さらに下に、変更を加えます。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOr​ientation {
    return YES;
}

3)AppController.mで、上部に#import "GLViewController.h"を追加し、applicationDidFinishLaunchingで次を追加します。

GLViewController *viewController = [[GLViewController alloc] init];
UIToolbar *mainTools = [UIToolbar new];
mainTools.frame = CGRectMake(0, 0, 300, 50);
UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"Help!" style:UIBarButtonItemStyleBordered target:self action:nil];
[mainTools setItems:[NSArray arrayWithObjects:newButton, nil]];
[[viewController view] addSubview:mainTools];
[window addSubview:[viewController view]];

GL変換とタッチ座標を適切に変更する必要がありますが、これにより自動回転が可能になります。

これが私以外の誰かに役立つことを願っています。

于 2011-02-14T16:23:41.743 に答える