2014-12-01 4 views
0

Я пытаюсь создать пользовательский UIView, который будет, когда постучал, перейти к новому контроллеру представления. Я бы хотел сделать это программно, а не в Interface Builder. Как мне получить ссылку на контроллер представления назначения, когда я это делаю? Я предполагаю, что я не просто создаю его и устанавливаю его как следующий вид или что-то еще, так откуда взялась эта ссылка? Поскольку, когда это делается в раскадровке, вы просто выбираете, где хотите, чтобы segue располагался в качестве места назначения, это не проблема, однако программно я не понимаю, откуда эта ссылка.Выполнение Segue из UIView программно

Я тоже делаю это в Свифт. Я не думаю, что это действительно имеет большое значение, но это может что-то изменить.

Я попытался использовать UIView с добавлением tapGestureRecognizer, который затем выполнил segue при прослушивании, однако я получал непризнанную ошибку селектора.

ответ

1

Если вы объявили свой UIViewController в раскадровке, вы должны установить свой идентификатор раскадровки, а затем вместо выполнения segue вы можете использовать что-то вроде этого (не запускали его, но выполняли точно то же самое в obj-c, поэтому я думаю, что это будет хорошо):

let storyboard : UIStoryboard = UIStoryboard(name: "myStoryboardName", bundle: nil); 
let vc : MyUIViewController = storyboard.instantiateViewControllerWithIdentifier("myVCStoryboardID")  as MyUIViewController; 
self.presentViewController(vc, animated: true, completion: nil);