#iphone #uiviewcontroller #uinavigationcontroller #push
#iPhone #uiviewcontroller #uinavigationcontroller #толкать
Вопрос:
Я пытаюсь использовать pushViewController: анимированный: с UIViewController. Я разместил его в UINavigationController с помощью initWithRoot, и он все еще не работает.
Вот мой код? Я делаю что-то не так?
CloudappSettingsViewController *cloud = [[CloudappSettingsViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:cloud];
[self pushViewController:nav animated:YES];
[cloud release];
Он всегда выходит из строя, когда доходит до [self pushViewController:nav animated:YES];
Есть идеи? Спасибо
Ответ №1:
является ли «self» UINavigationController?
Кажется, вы пытаетесь нажать на навигационный контроллер, но это наоборот. Вы должны представить навигационный контроллер и добавить к нему дополнительные представления.
Итак, UIView, в котором вы находитесь, уже должен быть в навигационном контроллере, тогда вы должны вставить в него cloud.
Ответ №2:
Если это есть в делегате вашего приложения, просто добавьте UINavigationController в качестве подвида в окно вашего приложения. Если вы хотите представить UINavigationController в качестве контроллера модального представления, сделайте это:
[self presentModalViewController:nav animated:YES];
Комментарии:
1. Этого нет в моем AppDelegate. Это в моем ViewController. Я хочу добиться этой анимации нажатия и всплывания для настроек. У меня есть идея, как заставить его работать. Позвольте мне попробовать сейчас. Редактировать настройка SettingsViewController в качестве UINavigationController также не сработала
Ответ №3:
Это определенно приведет к сбою, потому что вы установили значение nil.
CloudappSettingsViewController *cloud = [[CloudappSettingsViewController alloc] initWithNibName:@"NibName goes here" bundle:nil];
Создайте перо и назначьте его вашему контроллеру просмотра.
Комментарии:
1. Я уже пробовал это ранее этим утром. Возможно ли вообще использовать pushViewController и popViewController на UIViewController?
2. Да, это определенно возможно. В их контроллере просмотра вы всегда можете пойти вот так и выполнить нажатие и всплывающее окно: [self.NavigationController pushViewController:newViewController анимированный: ДА]; или сделать аналогичную вещь для popping. Я только что заметил в вашем коде, что вы вызываете только SELF для нажатия, что, я думаю, приведет к сбою.