2013-08-06 5 views
0

Кажется, такая глупая проблема, но я не могу разобраться.«Неуравновешенные вызовы для перехода на начало/конец»?

Мой пользователь нажимает на значок, расположенный на главном экране приложения, и значок выполняет модальный сеанс, открывая представление. Отсюда пользователь может нажать другую кнопку, которая подталкивает их к подробному представлению. Вот кикер: Как только мой пользователь находится на подробном представлении и пытается нажать другую кнопку, я получаю сообщение об ошибке:

«Неуравновешенные вызовы для перехода к началу/концу».

Я предполагаю, что это связано с количеством сегментов, лежащих над верхней частью оригинального модального. Короче говоря, процесс: Modal, Push, Push. На этом третьем нажатии в консоли появляется вышеуказанная «ошибка».

Как это исправить? Вот переход/код, который возникает ошибка:

.m

- (IBAction)purchasebuttonpressed:(id)sender 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_1" bundle:nil]; 
    StrainDetailViewController *yourViewController = (StrainDetailViewController *)[storyboard instantiateViewControllerWithIdentifier:@"DispensaryViewController"]; 

    [self.navigationController pushViewController:yourViewController animated:YES]; 



} 
+0

У вас также есть привязка к кнопке, метод действия которой не поддерживается :? Вы называете это segue, но тогда вы делаете ручной толчок. – rdelmar

+0

Извините, не segue. Просто толчок. Этот код существует для моего XIB-файла (это DetailView). Кнопка «нажимает» на вид на моем StoryBoard. –

+0

Где в иерархии контроллера находится контроллер навигации? – rdelmar

ответ

1

Если я правильно понимаю вашу структуру приложения, и то, что вы пытаетесь сделать, я думаю, что вам нужно изменить расположение контроллеров к этому:

HomeViewController (the window's root view controller) 
    | 
    | modal segue to: 
    | 
NavigationController whose root view controller is ViewController 
    | 
    | push to : 
    | 
TableViewController 
    | 
    | push to: 
    | 
DetailViewController 

другой способ сделать это, и то, как я предпочитаю, если HomeViewController подобен стартовый экран или экран приветствия - то, что вам не нужно, чтобы вернуться после первого видения это сделать навигатор ионный контроллер контроллера корневого окна. В контроллере корневого представления контроллера навигации (ViewController в вашем случае), представляйте HomeViewController модально из метода viewDidAppear без анимации, так что это будет первое, что видит пользователь. Когда пользователь хочет перейти, отпустите HomeViewController, и вы попадете в ViewController, и HomeViewController будет освобожден. Вам нужно будет поместить логику в этот метод viewDidAppear, так что представление HomeViewController происходит только при первом вызове viewDidAppear.

Смежные вопросы