Программная навигация в Swift (IOS)

Я только начинаю разработку для iOS как разработчик для Android. В Android можно установить clicklistener для любого представления, которое мне сложно в iOS, кроме как с Gesture Recognizer. Я хочу установить распознаватель жестов в представлении для перехода от одного контроллера представления к другому. Могу ли я руководствоваться

    override func viewDidLoad() {

        initiateTapGestures(view: circleView, action: #selector(self.tapDetectedForProfile))
    }


    func initiateTapGestures(view:UIView, action:Selector?){
        let singleTap = UITapGestureRecognizer(target: self, action: action)
        view.isUserInteractionEnabled = true
        view.addGestureRecognizer(singleTap)
     }
    @objc func tapDetectedForProfile(){
        print("profile setting")
        let profile = ProfileViewController()
        self.navigationController?.pushViewController(ProfileViewController(), animated: false)

    }

Всего 3 ответа


override func viewDidLoad() {
   super.viewDidLoad()
   circle.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(didClickedView(_ :))))
}  

@objc func didClickedView(_ sender : UITapGestureRecognizer){
        print("profile setting")
        let profile = ProfileViewController()
        self.navigationController?.pushViewController(ProfileViewController(), animated: false)
}

override func viewDidLoad() {
    super.viewDidLoad()   
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapDetectedForProfile))
    //tapGesture.numberOfTapsRequired = 2 //Default is 1 no need to mention  //2 Double tab //3...
    //tapGesture.numberOfTouchesRequired = 2 // Default is 1. The number of fingers required to match
    circleView.addGestureRecognizer(tapGesture)
}

@objc func tapDetectedForProfile() {
    print("Tabbed")
    // do something
    // Navigation
}

Вы создаете объект и нажимаете еще один здесь

    let profile = ProfileViewController()
    self.navigationController?.pushViewController(ProfileViewController(), animated: false)

}

Есть идеи?

10000