Программная навигация в быстром режиме (IOS) - PullRequest
1 голос
/ 23 марта 2020

Я только что взял 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 ]

1 голос
/ 23 марта 2020
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)
}
1 голос
/ 23 марта 2020
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
}
1 голос
/ 23 марта 2020

Вы создаете объект, а пу sh еще один здесь

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...