2014-09-18 1 views
0

Я только что начал работать с swift, я создал subview, на котором есть кнопка на нем, я бы хотел использовать эту кнопку, чтобы отвезти меня в мой mainviewcontroller.Как я могу перейти к mainviewcontroller из subview

я использовал такую ​​же функциональность для различных кнопки, однако, имеющей функцию в том же файле допускает, что кнопка работает код ниже

var playAgainButton = UIButton(frame: CGRectMake(0, 150, 320, 40)) 
      playAgainButton.setTitle("Play Again", forState: UIControlState.Normal) 
      playAgainButton.addTarget(self, action: Selector("startGame"), forControlEvents: UIControlEvents.TouchUpInside) 
      playAgainButton.backgroundColor = UIColor.redColor() 
      gameOver.addSubview(playAgainButton) 

можно ли использовать подобный код, чтобы перейти к другому ViewController?

Благодаря

ответ

1

Вы используете раскадровки, или это все в коде? Если он находится в коде, создайте метод, например

func goToMainVC() { 
    if let navController = self.navigationController { 
     navController.popToRootViewControllerAnimated(true) 
    } 
} 

и установите цель кнопки на селектор, который его вызывает.

Если вы используете раскадровки, у вас есть три варианта:

  1. Ctrl + перетаскивание соединения с вашей кнопки обратно к основному контроллеру вида (легкому, но плохая форма, потому что он просто толкает основной VC назад на навигационный контроллер);
  2. Добавить @IBAction до fun goToMainVC() метод выше, затем ctrl + перетащить соединение с вашей кнопки на контроллер вида, в котором он содержится, а затем выбрать этот метод вывода (так будет делать большинство людей); или
  3. Лучшим вариантом является использование размотки, как описано here.
+0

все это в коде, я только что попробовал функцию goTo, но когда я нажимаю на нее, он ничего не делает. – chirag90

+1

Привет Извините, что я сейчас решил проблему, это был я, который не смотрел на раскадровку, мне пришлось добавить контроллер навигации, я сделал po self.navController и нашел, что он пропускает ноль, поэтому пошел в раскадровку, добавив контроллер навигации и он начал работать. Для быстрого ответа NRitH – chirag90