UIScrollView nicht immer neue Größe auf die Ausrichtung ändern

Habe ich eine sehr einfache UIScrollView Beispiel, das einfach nicht tut, was es soll.
Nicht sicher, ob es ein Fehler mit der API oder ein Fehler in meinem code.

Grundsätzlich, ich habe eine UIViewController mit einem UIScrollView wie es Ansicht.
Wenn ich es in der UIWindow und ändern Sie die Ausrichtung des iPad logge ich mich wieder aus der UIScrollViews-Größe, die ist falsch(?) gemeldet.

Hier mein UIViewController Umsetzung:

@implementation CustomViewController
- (void)loadView {
  scrollView = [[[UIScrollView alloc] init] autorelease];
  scrollView.delegate = self;
  scrollView.backgroundColor = [UIColor redColor];
  self.view = scrollView;
}

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
  CGSize rect = scrollView.frame.size;
  NSLog(@"will rotate w%f h%f", rect.width, rect.height);
}

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
  CGSize rect = scrollView.frame.size;
  NSLog(@"will animate rotation w%f h%f", rect.width, rect.height);
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
  CGSize rect = scrollView.frame.size;
  NSLog(@"did rotate w%f h%f", rect.width, rect.height);
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  return YES;
}

@end

Wenn ich den obigen code sehe ich folgende Einträge in meine Konsole:

2010-07-11 11:03:05.214 Untitled2[6682:207] will rotate w768.000000 h1004.000000
2010-07-11 11:03:05.214 Untitled2[6682:207] will animate rotation w748.000000 h1024.000000
2010-07-11 11:03:05.619 Untitled2[6682:207] did rotate w748.000000 h1024.000000
2010-07-11 11:03:07.951 Untitled2[6682:207] will rotate w748.000000 h1024.000000
2010-07-11 11:03:07.958 Untitled2[6682:207] will animate rotation w768.000000 h1004.000000
2010-07-11 11:03:08.367 Untitled2[6682:207] did rotate w768.000000 h1004.000000

Wie Sie sehen können, die Ausrichtung ändert sich nicht die Größe des UIScrollView, aber nur, um damit die neuen statusbar.
Ich würde erwarten, dass die Breite und Höhe drastisch ändern, als die UIScrollView ist, wie Sie breiter als Sie hoch ist und Umgekehrt.

Ist es ein Weg, um die UIScrollView zu berichten, es ist wahre Größe?

InformationsquelleAutor d2kagw | 2010-07-11
Schreibe einen Kommentar