Почему мой модальный вид не отображается в моем приложении iOS? - PullRequest
0 голосов
/ 02 сентября 2010

У меня есть iOS-приложение на основе вкладок с двумя вкладками. Когда я переключаюсь на второй вид, я хочу, чтобы он немедленно представлял модальный вид пользователю. Вот мой простой код для этого ...

- (void)viewDidAppear:(BOOL)animated
{
 [super viewDidAppear:animated];

 MyViewController_iPhone *myVC = [[MyViewController_iPhone alloc] initWithNibName:@"MyView" bundle:nil];
 [[self navigationController] presentModalViewController:myVC animated:YES];
 [myVC release];
}

Когда я запускаю свое приложение и вкладку во втором виде, модальное представление не отображается. Когда я делаю это в отладчике, отладчик показывает все эти строки кода, которые были успешно выполнены, но я все еще ничего не вижу на экране. В IB все мои классы и соединения правильно установлены для пера «MyView». Есть предложения?

Кроме того, я новичок в разработке для iOS, поэтому я не уверен, нормально ли это или нет, но когда я делаю это в отладчике, я замечаю, что перехожу через метод viewDidAppear для представления в вторая вкладка, но когда я смотрю на мое устройство iOS, приложение все еще отображает вид для первой вкладки. Если я перехожу к методу viewDidAppear для определенного представления, не должно ли это представление отображаться на устройстве в этот момент?

Заранее большое спасибо за помощь!

1 Ответ

2 голосов
/ 02 сентября 2010

Вы говорите, что ваше представление находится в приложении на основе вкладок, но вы не упоминаете, есть ли на вкладках контроллеры UINavigationControllers. Я упоминаю об этом, потому что вы вызываете presentModalViewController: animated: в результате [self navigationController], который, если вы видите, что ничего не происходит, я подозреваю, равен нулю. Возможно, вы хотели бы вызвать его вместо [self tabBarController]?

...