2015-11-19 4 views
0

У меня есть UIViewController (HomeView), который показывает мой UIView под названием GameView через Segue.Правильный способ отклонить несколько UIView?

[self performSegueWithIdentifier: @"segue_playgame" sender: self]; 

GameView вызывает UIView (PauseView), когда использование нажимает кнопку. Этот вид паузы показан путем простого добавления PauseView в UIView.

UIView *pv = [[PauseView alloc] initWithFrame:self.view.bounds]; 
[self.view addSubview:pv]; 

Чтобы удалить PauseView я называю

[pv removeFromSuperview]; 

Есть ли способ, чтобы вызвать «Конец игры» метод в PauseView, который удалит как PauseView и Gameview взяв пользователя обратно HomeView (UIViewController)?

И обратите внимание, есть ли лучший способ обработки представлений и их удаления? Или как я делаю это довольно стандартно?

enter image description here

+0

Непонятный вопрос. Просто вызовите 'removeFromSuperview' для обоих представлений. Если в тот момент не видно, ничего плохого не происходит. – Avi

ответ

1

То, что вы здесь не хватает является UINavigationController. Из official documentation:

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

С вашими взглядами, которыми управляет UINavigationController стека, вы можете использовать:

- (NSArray<__kindofUIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated 

Чтобы выскочить обратно в контроллер представления корня, который в вашем случае, ваш контроллер домой вид.

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