View Höhe zur Laufzeit verändern

balufreak

balufreak

Aktives Mitglied
Thread Starter
Dabei seit
12.10.2003
Beiträge
1.563
Reaktionspunkte
28
Hallo Zusammen

Ich hab da wieder einmal ein kleines Problem :) Es handelt sich um eine iPad App.

Die Situation ist so:
Ich habe ein xib mit einem Window erstellt. In diesem Window hat es ein UIWebView welcher die volle Grösse des Screens beansprucht. Soweit so gut. Nun habe ich aber bestimmte Situationen in denen eine UIToolbar erforderlich ist. Also habe ich im XIB noch eine UIToolbar hinzugefügt, die Grösse des Webviews aber nicht verändert, sondern die Toolbar einfach drübergelegt. Denn die Toolbar wird am Anfang ausgeblendet.

Ich habe dann folgende Methode in mein Controller eingebaut um die Toolbar animiert einzublenden und wieder auszublenden.
Code:
-(void)toggleToolbar {
	[UIView beginAnimations:@"toolbar" context:nil];
	if (toolbarHidden) {
		_tb.frame = CGRectOffset(_tb.frame, 0, -_tb.frame.size.height);
 		_tb.alpha = 1;
		/*
		CGRect myFrame = _webView.frame;
		myFrame.size.height -= _tb.frame.size.height;
		_webView.frame = myFrame;
		*/
		toolbarHidden = NO;
	} else {
		_tb.frame = CGRectOffset(_tb.frame, 0, +_tb.frame.size.height);
		_tb.alpha = 0;
		
		/*
		CGRect myFrame = _webView.frame;
		myFrame.size.height += _tb.frame.size.height;
		_webView.frame = myFrame;
		*/
		
		toolbarHidden = YES;
	}
	[UIView commitAnimations];	
}

Nun ist meine Idee, dass wenn die Toolbar eingeblendet ist, sich die Webview um die Höhe der Toolbar verkleinert. Wie im auskommentierten Code zu sehen ist, habe ich das auch versucht. Aber das ganze verhält sich nicht wie gewünscht. Es wird quasi der ganze Inhalt des Webviews nach oben verschoben und der obere Teil des Inhalts wird abgeschnitten (eben in der Höhe der Toolbar). Eigentlich möchte ich, dass der Inhalt so bleibt wie er ist und quasi der Inhalt des Webviews passt sich dann an der neuen Grösse an.
Versteht ihr etwa wie ich das meine?

Cheers
balu
 
Zurück
Oben Unten