当我们使用MKMapView快速点击mapView时如何移动到第二个Viewcontroller?

问题描述 投票:0回答:1

在第一个viewcontroller中,我具有mapview,并且在textfields容器视图下面。如果我点击mapview,如何进入第二个viewcontroller?

如果我点击地图上的任何地方,我应该转到第二个VC:

FirstVC.. if i tap on map i have to go to 2ndVC

第二代VC设计:

2ndVC

对于我正在使用MKMapView的两个ViewController

为此我已经从此答案Tap gesture for MapKit编写了代码

override func viewWillAppear(_ animated: Bool) {

    let gestureRecognizer = UITapGestureRecognizer(target: self, action:"triggerTouchAction:")
     mapView.addGestureRecognizer(gestureRecognizer)

}
func triggerTouchAction(gestureReconizer: UITapGestureRecognizer) {
         //Add alert to show it works
       print("print working")
       let viewController = self.storyboard?.instantiateViewController(withIdentifier: "NewZoomAddressViewController") as! NewZoomAddressViewController;

      self.navigationController?.pushViewController(viewController, animated: true);
   }

然后它在错误下面出现

RegistrationViewController triggerTouchAction:]:无法识别的选择器已发送到实例0x7f999e81a400由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[Project.RegistrationViewController1 triggerTouchAction:]:无法识别的选择器已发送到实例0x7f999e81a400'

如何设计上述屏幕,请提供帮助。

ios swift mapkit mkmapview pushviewcontroller
1个回答
0
投票

像这样使用UITapGestureRecognizer

override func viewWillAppear(_ animated: Bool) {

        let gestureRecognizer = UITapGestureRecognizer(target: self, action:#selector(triggerTouchAction(_:)))
         mapView.addGestureRecognizer(gestureRecognizer)

}
@objc func triggerTouchAction(gestureReconizer: UITapGestureRecognizer) {
         //Add alert to show it works
       print("print working")
       let viewController = self.storyboard?.instantiateViewController(withIdentifier: "NewZoomAddressViewController") as! NewZoomAddressViewController;

      self.navigationController?.pushViewController(viewController, animated: true);
   }
© www.soinside.com 2019 - 2024. All rights reserved.