Wie hat iOS Satz UIViewController s view frame, bevor Sie angezeigt?

Ich bin nicht vertraut mit iOS UIViewController detail umzusetzen. Ich habe den folgenden code erstellen Sie eine neue UIViewController und zeigen Sie es, aber die Rahmen, die ich während initWithFrame Methode nicht funktionierte, der regler-Ansicht immer fullscreen(320*480).

UIViewController *viewController = [[UIViewController alloc] init];

//view
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 140, 130)];
viewController.view = view;
[view release];
AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];

UINavigationController *nav = [app navController];
[nav pushViewController:viewController animated:YES];
 [viewController release];

Ich Suche releative Gedanken im apple-developer-Dokumente, aber ich habe nichts gefunden, was nützlich für diese. Wie hast UIViewController Angebot mit Blick auf frame-Eigenschaft, bevor Sie es zeigen? Wo kann ich nützlich-Dokumentation.

Danke.


Update: In der Tat, der code ist von cocos2d-iphone DirectorTest: https://github.com/cocos2d/cocos2d-iphone/blob/release-2.0-rc1/tests/DirectorTest.m#L143

  • sind Sie sicher, dass Sie nicht sehen, den navigation-Controller anzeigen Balg? Haben Sie versucht, die Einstellung benutzerdefinierte Farbe für den hintergrund? Auch die navigation ist falsch. Wenn dieser code in view-controller - verwenden self.navigationController zu erreichen, Navigations-controller und drücken Sie neue view-controller oben drauf.
  • Ich update, wird dieser code von cocos2d-test, und es läuft normal, wird die Ansicht auf dem ganzen Bildschirm angezeigt, auch wenn das frame-set as (0, 0, 160, 240)
  • dieser code ist nur eine schlecht geschriebene test und sollte nicht verwendet werden, die in einer realen Anwendung. beachten Sie jedoch, dass die Sicht-Rahmen ändert sich je nach der autoresizing Maske.
InformationsquelleAutor qichunren | 2012-05-30
Schreibe einen Kommentar