2015-08-18 6 views
1

Я бы обычно использовал segue для переключения контроллеров вида, но я не думаю, что могу использовать segue для того, что делаю. У меня есть предупреждение, которое появляется, когда игра заканчивается, что говорит пользователю, что игра окончена. Есть две кнопки, которые пользователь может использовать для просмотра предупреждений. Один - «повторите попытку», а другой - «главное меню». Когда пользователь отбирает «главное меню», он переключается на главный контроллер вида. Однако, когда я использую «instantiateViewControllerWithIdentifier», он создает новый экземпляр этого главного контроллера представления каждый раз, когда пользователь нажимает «главное меню». Как у меня есть кнопка «главного меню» в переключателе просмотра предупреждений на исходный экземпляр главного контроллера? Вот мой код:отображение ранее созданного контроллера представления в Swift

gameOverAlert.addAction(UIAlertAction(title: "Main Menu", style: .Default, handler: { (action: UIAlertAction!) in 
     self.ReturnToMainMenu() 
    })) 

func ReturnToMainMenu(){ 
    var storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 

    let Main = self.storyboard!.instantiateViewControllerWithIdentifier("Main") as! ViewController 

    self.presentViewController(Main, animated:true, completion:nil) 
} 

ответ

1

Отклонить ваш представленный контроллер представления (ваша игра), так что он показывает предыдущий контроллер представления (в главном меню).

В возвращении в главное меню, self.dismissViewControllerAnimated(false, completion: nil)

+1

Genius. почему я не подумал об этом? Спасибо огромное! –

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