如何使用 MKMapView.gestureRecognizers 访问特定的 UIGestureRecognizer
How to access a specific UIGestureRecognizer using MKMapView.gestureRecognizers
我在我的 viewDidLoad 方法中添加了一个 UILongPressGestureRecognizer:
var uilpgr = UILongPressGestureRecognizer(target: sMapView, action: "longPressDetected:")
uilpgr.minimumPressDuration = 1
sMapView.addGestureRecognizer(uilpgr)
我正试图在我的处理程序中禁用它。这是我唯一的手势识别器,现在我正在尝试:
var recognizerList = sMapView.gestureRecognizers
var recognizer = uilpgrList[0] as! UILongPressGestureRecognizer
recognizer.enabled = false
我收到一个错误:"cannot subscript a value of [AnyObject]? with an index of type 'Int'"
我没有考虑 sMapView.gestureRecognizers 返回的数组是可选的这一事实。
还发现了初始化的bug
当前工作代码:
初始化:
var uilpgr = UILongPressGestureRecognizer(目标:自我,动作:"longPressDetected:")
uilpgr.minimumPressDuration = 1
sMapView.addGestureRecognizer(uilpgr)
禁用:
var recognizer = sMapView.gestureRecognizers![0] as! UILongPressGestureRecognizer
recognized.enabled = false
启用:
var recognizer = sMapView.gestureRecognizers![0] as! UILongPressGestureRecognizer
recognized.enabled = true
我在我的 viewDidLoad 方法中添加了一个 UILongPressGestureRecognizer:
var uilpgr = UILongPressGestureRecognizer(target: sMapView, action: "longPressDetected:")
uilpgr.minimumPressDuration = 1
sMapView.addGestureRecognizer(uilpgr)
我正试图在我的处理程序中禁用它。这是我唯一的手势识别器,现在我正在尝试:
var recognizerList = sMapView.gestureRecognizers
var recognizer = uilpgrList[0] as! UILongPressGestureRecognizer
recognizer.enabled = false
我收到一个错误:"cannot subscript a value of [AnyObject]? with an index of type 'Int'"
我没有考虑 sMapView.gestureRecognizers 返回的数组是可选的这一事实。
还发现了初始化的bug
当前工作代码:
初始化: var uilpgr = UILongPressGestureRecognizer(目标:自我,动作:"longPressDetected:") uilpgr.minimumPressDuration = 1 sMapView.addGestureRecognizer(uilpgr)
禁用:
var recognizer = sMapView.gestureRecognizers![0] as! UILongPressGestureRecognizer
recognized.enabled = false
启用:
var recognizer = sMapView.gestureRecognizers![0] as! UILongPressGestureRecognizer
recognized.enabled = true