2013-11-15 2 views
1

Я пытаюсь получить раскадровку, чтобы вернуть пользователя на первый экран раскадровки при нажатии кнопки.Перейти к началу раскадровки с кнопки на последнем экране

У меня есть кнопка щелчка, и метод ударяется, когда он прослушивается, но он ничего не делает или не разбивает приложение в зависимости от того, что у меня есть в этом методе (на этом этапе я пробовал так много вещей, что Я не могу вспомнить исходную настройку)

Лучшее, что я могу достичь, - это то, что когда-то пользователь попадает на третий экран в раскадровке, а не в первую очередь.

Вот раскадровка, я хочу, чтобы пользователь переместился от кнопки, обведенной красным назад, к самому первому контроллеру представления (вверху слева от снимка экрана).

Возможно, раскладка раскадровки поможет людям, я отправлю некоторые из различных методов, которые я пробовал. enter image description here

Вот метод

- (IBAction)done:(id)sender 
{ 
    //Multitude of attempts have been in here, either they don't do 
    //anything or they just send the user back to the NEW REPORT screen. 
//Button does nothing in these following events 

[self.navigationController popToRootViewControllerAnimated:YES]; 


[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES]; 
} 
+0

Вы пробовали это [self.navigationController popToRootViewControllerAnimated: YES]; –

+0

Да, пробовал, что при использовании кнопки ничего не делает, просто кликает без эффекта. –

+0

Вы создаете экземпляр отчета, отправляющего контроллер навигации контроллера просмотра в код? На вашем раскадровке нет сегу. – Steve

ответ

3

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

FirstViewController *first = [self.storyboard instantiateViewControllerWithIdentifier:@"First"]; 
self.view.window.rootViewController = first; 

Мне не совсем ясно, как вы добираетесь до этого контроллера с помощью данной кнопки, но вы можете захотеть поместить методы dealloc во все ваши контроллеры с журналом, чтобы узнать, освобождаются ли все в какой-то момент вашей навигации, и когда вы g o назад к новому первому контроллеру, как я изложил выше.

+0

В моем коде, где мне получить имя, чтобы заменить «FirstViewController» на? Я пробовал с именем контроллера, но он говорит неизвестный тип. –

+0

@FullTimeSkeleton, вы подставляете класс этого контроллера - независимо от вашего пользовательского класса. Кроме того, убедитесь, что вы предоставили контроллеру идентификатор. – rdelmar

+0

Хм ... все еще говорю неизвестное имя типа, когда я использую класс, у него есть идентификатор, должен ли идентификатор быть тем же именем, что и класс? –

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