как перейти к новому контроллеру представления, используя UIWindow? - PullRequest
0 голосов
/ 06 октября 2009

Я закодировал следующее в файле appDelegeate .m. Но я не могу запустить метод presentModalViewController. Если я запускаю [self.window addSubview: mview], он не показывает результат .. - любая помощь перейти от одного контроллера к другому контроллеру? здесь mtController - это Navigationcontroller.

- (void)flip
{
    MViewController *mview = [[MViewController alloc] init]; 
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
                           forView:window
                             cache:YES];
    [mtController.view removeFromSuperview];
    [self.window addSubview:mview];
   // [self presentModalViewController:mailView animated:YES];
    [UIView commitAnimations];  
    [mailView release]
}

Ответы [ 2 ]

0 голосов
/ 07 октября 2009

В вашем примере кода вы создаете объект с именем mview, но затем ниже в presentModalViewController вы ссылаетесь на mailView (и в выпуске). Это ошибка?

После добавления mview.view в окно, это единственный вид в стеке? Если нет, вам может понадобиться вынести его на фронт. Кроме того, предполагая, что оператором релиза внизу должно быть [mview release], у вас будет другая проблема, если вы не сохраните / не сохраните этот контроллер представления. Я не верю, что добавление его в подпредставления окна сохраняет его.

0 голосов
/ 06 октября 2009

Если вы хотите добавить NavigationController в окно, которое вы должны вызвать
[self.window addSubview: mview.view];
И если вы хотите перейти от одного представления в NavigationController к другому представлению, правильная вещь будет состоять в том, чтобы выдвинуть новый ViewController.
- (void) pushViewController: (UIViewController *) viewController animated: (BOOL) animated

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...