다음 코드는 2 초 동안 눌러도 값을 두 번 인쇄합니다.UILongPressGestureRecognizer가 두 번 반환되는 이유
언제든지 내가 두 번 실행하는 것처럼 보입니다. 아무도 왜 이런지 알 수 있습니까?
func action(gestureRecognizer:UIGestureRecognizer){
var touchPoint = gestureRecognizer.locationInView(self.myMap);
var newCo = myMap.convertPoint(touchPoint, toCoordinateFromView: self.myMap);
var annotation = MKPointAnnotation();
annotation.coordinate = newCo;
var loc = CLLocation(latitude: newCo.latitude, longitude: newCo.longitude);
CLGeocoder().reverseGeocodeLocation(loc, completionHandler: {(placemarks, error)->Void in
let pm:CLPlacemark = placemarks[0] as CLPlacemark;
var address = pm.locality + " ," + pm.postalCode + " ," + pm.administrativeArea + " ," + pm.country;
annotation.title = address;
self.myMap.addAnnotation(annotation);
println(address);
println("\(newCo.latitude)");
println("\(newCo.longitude)");
//places.append(["name:":address, "lat": "\(newCo.latitude)", "lon":"\(newCo.longitude)"]);
})
}
그래서 나는 경우 (제스처 state.state == UIGestureRecognizerState.Began)에 내 코드를 래핑하는 {할-물건을?} 싶은 – Biscuit128
을 예, 시작 또는 끝에서, 방법에 따라 달라집니다 중 당신은 사용자가 그것과 상호 작용하기를 원한다. 즉, 길게 누르는 기간이 시작되면 위치를 인쇄하려면 시작을 사용하고, 사용자가 언론에서 손을 뗀 경우에는 끝을 사용하십시오. –