2013-10-10 4 views
2

У меня есть экран (Мой профиль), которые могут быть доступны из двух путей:круговой поток приложения - Нужна идея

  • Вход -> Content -> Профиль
  • Войти -> Регистрация -> Профиль.

В обоих путей, вид-х показаны:

[self.navigationController pushViewController...]; 

Но моя проблема, после регистрации пользователя и завершает его профиль, он должен идти «Назад» на просмотр контента. (Очевидно, что он не будет работать с стеком контроллера навигации, так как Content не находится в контроллере навигации).

Вопрос, какие у вас есть предложения?

PS: Я знаю, что это не вопрос, но я думал об этом несколько часов, и я ничего не придумал. Возможно, некоторым из вас пришлось иметь дело с подобными случаями.

Редактировать: В принципе вопрос может быть обобщен на: Как вы справляетесь с круговым потоком приложений?

Редактировать: Я решил это, нажав «Зарегистрироваться» на «Контент», а затем «Профиль» в viewWillAppeare без анимации (так что мне нужно в стеке), но мне все еще интересно иметь дело с круговыми потоками приложений.

ответ

2

Мое предложение было бы изменить [UINavigationController viewControllers].

Так после закончить регистрацию вы можете сделать что-то вроде

ContentVC *content = [[ContentVC alloc] init]; 
[self.navigationController setViewControllers:[NSArray arrayWithObject:content]]; 
[self.navigationController popToRootViewControllerAnimated:YES]; 
0

1) Сделайте свой вход в систему viewController rootController для UINavigationController.

2) От Вход Вы можете нажать Content ViewController

3) от содержания VC вы можете нажать на профиль VC.

Теперь, если вы хотите, чтобы вернуться к содержанию из профиля сделать это:

[self.navigationController popViewControllerAnimated:YES]; 

И если вы хотите о вернуться из профиля непосредственно Вход сделать это:

[self.navigationController popToRootViewControllerAnimated:YES]; 

Если вы не хотите, чтобы панель навигации скрывала панель.

Update

Возьмем другого подход, кроме стека навигации контроллера:

1) Сделайте класс контроллера с 2-мя функции:

-(void)loadViewControllerWithIndex:(int)index; 

и

-(void)unLoadCurentViewController; 

2) Вы можете l эти функции и загрузить и выгрузить контроллеры представлений из этого класса контроллера.

3) Итак, вы изначально загружаете этот класс и импортируете файл в этот класс других контроллеров представлений.Вы можете взять объект topViewController UIViewController, чтобы вы могли сохранить трек, на котором в данный момент отображается контроллер, и это поможет, когда вы хотите выгрузить контроллер.

4) В контроллере нагрузки с функцией индекса вы можете добавить вид контроллера и в выгрузке вы можете удалить их.

+0

Это не проблема ... У меня не проблема. Проблема в том, что поток программы является круговым (Login -> Register -> Profile, тогда поп из профиля должен привести меня к Контенту не для регистрации). –

1

контроллера Нажмите Contentview после профиля complated во втором случае, в то время как в первом случае вы уже толкая его.

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