Hey Leute,
und zwar versuche ich gerade meinen MainScreen zu formatieren ohne AutoLayout zu nutzen. Ich habe dort vier Buttons und ein Image. Die Buttons sollen je nach Orientation unterschiedlich positioniert werden.
Es funktioniert soweit alles auch gut bzw. sieht alles gut aus. Mein Problem tritt erst auf wenn ich den Bildschirm mehrmals rotiere, d.h. beim zweiten Wechsel zw. Portrait und Landscape.
Portait:
OQmyF.png
Beim ersten Wechsel zu Landscape:
1uIDA.png
Jetzt bei weiteren Wechsel in den Landscape Modus, in der Portrait-Orientation alles weiterhin wunderbar:
3Z2Uh.png
Mein Code:
Alles anzeigen
Wenn ich den Else-Fall auskommentiere sieht das ganze im Portrait-Orientation schlecht bzw. unformatiert aus, allerdings tritt dann mein Fehler nicht mehr auf.
und zwar versuche ich gerade meinen MainScreen zu formatieren ohne AutoLayout zu nutzen. Ich habe dort vier Buttons und ein Image. Die Buttons sollen je nach Orientation unterschiedlich positioniert werden.
Es funktioniert soweit alles auch gut bzw. sieht alles gut aus. Mein Problem tritt erst auf wenn ich den Bildschirm mehrmals rotiere, d.h. beim zweiten Wechsel zw. Portrait und Landscape.
Portait:
OQmyF.png
Beim ersten Wechsel zu Landscape:
1uIDA.png
Jetzt bei weiteren Wechsel in den Landscape Modus, in der Portrait-Orientation alles weiterhin wunderbar:
3Z2Uh.png
Mein Code:
Quellcode
- -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
- if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
- [logo setHidden:YES];
- [start setFrame:CGRectMake(0, 150, 528, 100)];
- [impressum setFrame:CGRectMake(0, 500, 528, 50)];
- [uebungen setFrame:CGRectMake(5, 370, 250, 50)];
- [verlauf setFrame:CGRectMake(65, 370, 250, 50)];
- } else {
- [logo setHidden:NO];
- [start setFrame:CGRectMake(150, 115, 280, 135)];
- [impressum setFrame:CGRectMake(150, 245, 280, 65)];
- [uebungen setFrame:CGRectMake(50, 209, 135, 65)];
- [verlauf setFrame:CGRectMake(390, 209, 135, 65)];
- }
- }
Wenn ich den Else-Fall auskommentiere sieht das ganze im Portrait-Orientation schlecht bzw. unformatiert aus, allerdings tritt dann mein Fehler nicht mehr auf.