Hallo,
zunächst einmal: ich tu mir grad etwas schwer das richtige Forum für mein Anliegen zu finden, weil es ein wenig querfeldein ist.
Jedenfalls zur Situationsbeschreibung
für einen Prof soll ich ein Computergrafik & Bildverarbeitungspraktikum aufs iPhone portieren. Das geht soweit auch recht gut und c++ Code für OpenGL läuft wunderbar. Allerdings nähert sich mein Wissen über Objective-C der 0 an (und zwar von Unten) weshalb ich jetzt beim Basteln des UserInterface auf ziemliche Probleme stoße.
Zum Aufbau:
Ich habe eine iOS-Anwendung mit GL ES 2.0 erstellt, die einen ViewController enthält, der sich um das Rendering usw kümmert.
In diesem ViewController habe ich dann die Methode:
eingebaut.
Damit kann man eben am unteren Bildschirmrand eine View öffnen (ControlView), die eben Parameter wie ausgewählten Shader, Anzahl an durchhläufen etc. steuern soll. Die giveGLInstance-Methode ist eine eigene Methode, die eine Referenz auf den aktuellen ViewController, der für das GL-Rendering verantwortlich ist, zu übergeben.
Mit dem [self presentModalViewController:controller animated:YES]; Aufruf wird diese View dann auch geöffnet und ich sehe zunächst einmal nur eine NavigationBar mit einem UIBarButtonItem, über den ich dann zur Rendering-View zurückkehren will
Code dafür:
wenn ich allerdings dann in die menuReturnButton-Methode
aufrufe, knallt die Application lediglich mit dem Hinweis:
Button: Zurück!
warning: Unable to restore previously selected frame.
(gdb)
Nun also meine Frage: Weiß jemand, woran das liegt und wie ich das beheben kann, bzw. wie ich das Problem sauberer lösen könnte?
Danke schon mal!
zunächst einmal: ich tu mir grad etwas schwer das richtige Forum für mein Anliegen zu finden, weil es ein wenig querfeldein ist.
Jedenfalls zur Situationsbeschreibung
für einen Prof soll ich ein Computergrafik & Bildverarbeitungspraktikum aufs iPhone portieren. Das geht soweit auch recht gut und c++ Code für OpenGL läuft wunderbar. Allerdings nähert sich mein Wissen über Objective-C der 0 an (und zwar von Unten) weshalb ich jetzt beim Basteln des UserInterface auf ziemliche Probleme stoße.
Zum Aufbau:
Ich habe eine iOS-Anwendung mit GL ES 2.0 erstellt, die einen ViewController enthält, der sich um das Rendering usw kümmert.
In diesem ViewController habe ich dann die Methode:
Code:
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
UIView *view = [touch view];
CGPoint touchPoint = [[touches anyObject] locationInView:view];
cout << "Touch X: " << touchPoint.x << " Touch Y: " << touchPoint.y << endl;
// Resolution mit einbeziehen
if(touchPoint.x <= 60 && touchPoint.y <= 60)
{
textureSelection--;
cout << "Texture--" << endl;
}
if(touchPoint.x >= (self.view.bounds.size.width - 60) && touchPoint.y <= 60)
{
textureSelection++;
cout << "Texture++" << endl;
}
if(touchPoint.y >= (self.view.bounds.size.height - 60))
{
ControlView *controller = [[ControlView alloc] init];
[controller giveGLInstance:self];
[self presentModalViewController:controller animated:YES];
cout << "Controll View" << endl;
}
mclamp(textureSelection, MAX_TEXTURES, 0);
}
eingebaut.
Damit kann man eben am unteren Bildschirmrand eine View öffnen (ControlView), die eben Parameter wie ausgewählten Shader, Anzahl an durchhläufen etc. steuern soll. Die giveGLInstance-Methode ist eine eigene Methode, die eine Referenz auf den aktuellen ViewController, der für das GL-Rendering verantwortlich ist, zu übergeben.
Mit dem [self presentModalViewController:controller animated:YES]; Aufruf wird diese View dann auch geöffnet und ich sehe zunächst einmal nur eine NavigationBar mit einem UIBarButtonItem, über den ich dann zur Rendering-View zurückkehren will
Code dafür:
Code:
-(void)menuReturnButton
{
std::cout << "Button: Zurück!" << std::endl;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[back setAction:@selector(menuReturnButton)];
}
wenn ich allerdings dann in die menuReturnButton-Methode
Code:
-(void)menuReturnButton
{
std::cout << "Button: Zurück!" << std::endl;
[self presentModalViewController:glInstance animated:YES];
}
aufrufe, knallt die Application lediglich mit dem Hinweis:
Button: Zurück!
warning: Unable to restore previously selected frame.
(gdb)
Nun also meine Frage: Weiß jemand, woran das liegt und wie ich das beheben kann, bzw. wie ich das Problem sauberer lösen könnte?
Danke schon mal!