Мой модальный контроллер не появился на экране. UITabbar + навигационное приложение - PullRequest
0 голосов
/ 28 ноября 2011

UITabbar + приложение для навигации. Мой модальный контроллер Nav не появился на экране. Что не так?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window.rootViewController = self.tabBarController;

  if (isLoginScreenNeeded)
   {    
    LoginModalViewController *controller = [[[LoginModalViewController alloc] initWithNibName:@"LoginModal" bundle:[NSBundle mainBundle]] autorelease];

    UINavigationController *controllerNav = [[[UINavigationController alloc] initWithRootViewController:controller] autorelease];
    [self.window.rootViewController presentModalViewController:controllerNav animated:NO];
    }

  [self.window makeKeyAndVisible];
  return YES;
}

РЕДАКТИРОВАТЬ: @Zoleas, я обновил свой код. Если я удалю [self.window makeKeyAndVisible]; - оно работает. Но я не понимаю, зачем мне удалять self.window makeKeyAndVisible];

Ответы [ 4 ]

1 голос
/ 28 ноября 2011

просто удалите parentViewController из строки [self.window.rootViewController.parentViewController presentModalViewController:controllerNav animated:NO];

UITabBarController - это rootViewController, поэтому он, вероятно, не имеет parentViewController.

0 голосов
/ 22 мая 2012

Я обнаружил, что makeKeyAndVisible удаляет модальное представление из родительского, поэтому удалите строку [self.window makeKeyAndVisible]; или вы можете переместить его наверх.

0 голосов
/ 28 ноября 2011

Используйте следующий код для отображения

[map from:kAppViewController toModalViewController:[controller class]];
0 голосов
/ 28 ноября 2011

отобразите представление ваших файлов main.xib в представление rootViewcontrollers .. тогда это будет работать

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