2015-07-05 2 views
0

Итак, я работаю в Swift, и у меня есть ViewController и мой игровой сценарий, так как это комплект спрайтов. Сейчас у меня есть NSTimer в моем контроллере просмотра, который отсчитывает от 3. Когда он достигает 0, таймер останавливается. Здесь я сделал это произошло:Swift: переход к новому контроллеру представления в конце обратного отсчета nstimer

@IBOutlet weak var countdownTestLabel: UILabel! 

    var countdown = NSTimer() 
    var counter = 3 

    func updateCounter() { 
     countdownTestLabel.text = String(counter--) 

     if counter == 0 { 
      countdown.invalidate() 
      //Then trigger segue to Game Scene view 

     } 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //Setting up countdown timer 

     countdownTestLabel.font = UIFont(name: "DIN Condensed", size: 30) 
     countdownTestLabel.text = "\(counter)" 

     countdown = NSTimer.scheduledTimerWithTimeInterval(1, target:self, selector: Selector("updateCounter"), userInfo: nil, repeats: true) 

Когда таймер останавливается, я должен выполнить SEGUE, который загружает мой взгляд Game Scene. Я знаю, как это сделать с помощью кнопки (перетаскивание элемента управления), но мне нужно сделать это программно.

Я пробовал делать что-то вроде self.presentViewController(secondViewController, animated: true, completion: nil), но не знаю, как определить secondViewController как и в моей игровой сцене, и я сталкиваюсь с ошибками. Что мне делать?

+0

Вы пытаетесь отобразить подкласс SKScene или подкласс UIVewController? Я чувствую, когда вы говорите segue, что вы имеете в виду просто отображение сцены. –

ответ

1

У вас есть несколько вариантов.

Вы можете управлять перетаскиванием из контроллера исходного источника в контроллер назначения и создать уровень уровня контроллера. Затем вы дадите ему уникальный идентификатор, а затем используйте performSegueWithIdentifier:sender:, чтобы вызвать его.

Другой вариант должен был бы дать сцену вашего зрения контроллера уникальный идентификатор, создать экземпляр этого вида контроллера с помощью instantiateViewControllerWithIdentifier: и затем вызвать его с `presentViewController: анимированные:»

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