Pregunta

He estado tratando de descubrir cómo hacer esto durante varios días con un éxito limitado.Me las arreglé para manejar manualmente NSNotifications que me dicen cuándo cambia la orientación de la vista, luego uso CGAffineTransformations para mover mi barra de herramientas a la orientación correcta.Este tipo de trabajo, pero no es muy limpio.Entonces mi pregunta es, ¿cómo puedo agregar una barra de herramientas a la vista OpenGL-ES y hacer que gire automáticamente?Supongo que implicará crear un nuevo viewController y luego agregar la vista OpenGL y la barra de herramientas a esta vista, pero no tengo suficiente experiencia trabajando con vistas y subvistas para saber la forma correcta de hacerlo o incluso si este es el enfoque correcto. .Intenté hacerlo y fracasé estrepitosamente.

¿Fue útil?

Solución

Bien, finalmente lo descubrí.No fue muy intuitivo, pero funciona.Esta respuesta vino de: http://www.idevgames.com/forums/thread-1773.html

1) agregar nuevo archivo...COCOA TOUCH Classes-> UIViewController Subclase, y nombre it GlviewController 2) en GlviewController.m, agregue #import "PaintingView.h" en la parte superior y en el método LoadView, Agregar::

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

y más abajo, haz una modificación:

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

3) en AppController.m, agregue #import "GLViewController.h" en la parte superior y en applicationDidFinishLaunching, agregue esto:

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]];

Tendrás que cambiar tus transformaciones GL y tocar las coordenadas para adaptarlas, pero esto hará que gires automáticamente.

Espero que esto sea útil para alguien más además de mí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top