2017-01-05 2 views
0

마커에서 길게 누르는 제스처를 인식하도록하려는 Google지도가 있습니다. 그 동안 긴 언론의 제스처에 대응하기 위해 매핑하고 싶습니다. 나는 올바르게 구현하는 단계를 따라 왔지만 오래 언론으로부터 반응을 얻지 못했고, 필자는 왜 시뮬레이터에서 긴 클릭으로 인식하지 못하기 때문에 테스트를하고있는 것일까? 어쨌든 여기 아래에 사용 된 방법이 있습니다. 만약 내가 놓친 것이 있다면 누구나 볼 수 있다면 알려주세요.오브젝트 라이브러리에서 긴 프레스 동작 구현 응답 없음 3

1.) 객체 라이브러리에서 긴 탭 제스처 인식기를 메인 스토리 보드의 내지도보기로 드래그했습니다.

3.

)이 0.5 초에 최소 기간을 설정 내 참조 콘센트 연결에>지도보기과 1

4 모두 터치와 탭 인식기를 활성화 -

2)이이 gestureRecognizers를 넣어 .)에 입력 한 내지도보기를 포함하는의 ViewController에서 :

 @IBAction func handleLongtap(recognizer: UILongPressGestureRecognizer) { 
    print("PRESSED") 
} 

5) 다시 메인 스토리 보드 뷰 컨트롤러로 제어 드래그 길게 누름 제스처 인식기를하고 선택 "handleLongtap"에 'handleLongTap을 넣어 - -> longPressGesture "i nto my view controller '받은 동작들'

시뮬레이터를 오랫동안 클릭 할 때 오류가 없습니다. 터미널에 "PRESSED"가 표시되지 않습니다. 어떤 생각이 잘못 되었습니까?

let longPress = UILongPressGestureRecognizer() 
longPress.addTarget(self, action: ViewController.handleTap) 
yourPin.addGestureRecognizer(longPress) 

func handleTap() { 
    print("Tapped") 
} 

을 그리고 당신이 필요로 그냥 조정할 :

답변

0

당신은 코드에서 제스처 인식기를 추가하는 시도 할 수 있습니다.

+0

실제로 처음에는 viewDidLoad의 첫 번째 부분을 넣은 다음 기능을 사용했지만 아무 일도 일어나지 않았기 때문에 성공하지 못했습니다. 그리고 왜 다시 한 번 오류가 없었는지 확실하지 않습니다. –

+0

난 그냥 다시 확인을 위해 위의 코드를 다시 시도하고있다 (하지만 대신 mapView 어디서나 응답을 yourPin 넣고 있어요)하지만 오류가 발생 해요 ViewController 인스턴스 멤버 'handleTap'- 어떻게 정의 할 것이라고 그것? –

+0

View Controller의 이름으로 ViewController.handleTap에서 ViewController를 변경하십시오. – bkwebhero