Чтобы выполнить переход, нажав UIView
, вам нужно добавить жест распознаватель. В моем примере я создаю экземпляр и добавил Subclass
из UIView
программно:
viewDidLoad(){
// here we instantiate an object of our subclass
let customView = MyViewSubclass(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
// here we add it to our ViewController
self.view.addSubview(customView)
// here we instantiate an object of gesture recognizer
let gestureRec = UITapGestureRecognizer(target: self, action: #selector (self.someAction (_:)))
// here we add it to our custom view
customView.addGestureRecognizer(gestureRec)
}
func someAction(sender:UITapGestureRecognizer){
performSegueWithIdentifier("Whazzzzup", sender: self)
}
// Swift 3
func someAction(_ sender:UITapGestureRecognizer){
// this is the function that lets us perform the segue
performSegue(withIdentifier: "Whazzzup", sender: self)
}
Если вы не имеете Subclass
из UIView
, то вы просто добавить UIView
...
let customView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
Также вы можете конечно, просто возьмите ваш UIView
Outlet и добавьте к нему распознаватель жестов.
let gestureRec = UITapGestureRecognizer(target: self, action: #selector (self.someAction (_:)))
myView.addGestureRecognizer(gestureRec)
представить ViewController
без Segue, вам нужно создать экземпляр ViewController:
func someAction(_ sender:UITapGestureRecognizer){
let controller = storyboard?.instantiateViewController(withIdentifier: "someViewController")
self.present(controller!, animated: true, completion: nil)
// swift 2
// self.presentViewController(controller, animated: true, completion: nil)
}
Вы должны установить withIdentifier
в атрибуте инспектор ViewController по:
В этом примере withIdentifier
будет: LandingVC
Если вы используете UINavigationController
и хочет back Button
, вы нажимаете ViewController
на навигационном стеке: (., По крайней мере сейчас)
self.navigationController?.pushViewController(controller!, animated: true)
Что вы имеете в виду под «connect»? –
нравится '.addSubview''? –
Итак, я хочу перейти на второй контроллер просмотра, щелкнув UIView. @DavidSeek – bagels