在第一个viewcontroller中,我具有mapview,并且在textfields容器视图下面。如果我点击mapview,如何进入第二个viewcontroller?
如果我点击地图上的任何地方,我应该转到第二个VC:
FirstVC.. if i tap on map i have to go to 2ndVC
第二代VC设计:
对于我正在使用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'
如何设计上述屏幕,请提供帮助。
像这样使用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);
}