2016-10-14 6 views
1

내가 원하는 것 :Watchkit 3에서 TouchEvent를 누르는 동안 어떻게 시뮬레이트합니까?

버튼을 누르고있는 동안 진행률 표시 줄을 100 %까지 채우고 싶습니다. 예 : 버튼을 누르고 진행 표시 줄은 2 초가 경과 할 때까지 누르고 있으면 진행 막대가 2 초 후에 100 %에 도달 할 때까지 계속 채 웁니다.

은 내가했던 무엇 :

내가 길게 누름 제스처 인식기를 사용하여 whilePressing TouchEvent를 시뮬레이션하고 제스처 인식기를 눌러하려했으나 만족스러운 결과를 얻을하지 않았다. 주요 문제는 탭 제스처와 긴 누르기 제스처를 같은 버튼에 섞을 수 없다는 것입니다. 이 작업을 수행 할 수 있다면 적어도 touchDown (Tap) 및 touchUp (Long Press) Events를 가져 와서 원하는 동작을 시뮬레이트 해 볼 수 있습니다.

누군가에게 조언이 있습니까? 아니면 현재 주어진 프레임 워크에서 가능하지 않습니까?

답변

1

만족스러운 해결 방법을 찾아 냈습니다. 원하는 상호 작용이 있어야하는 버튼이있는 WKLongPresssGestureRecognizer을 사용합니다. Attributes Inspector에서 Min Duration0으로 설정했습니다. 내 인식 자의 IBAction으로 다음 스 니펫을 사용했습니다.

@IBAction func pressAndHold(_ sender: AnyObject) { 
    guard let sender = sender as? WKLongPressGestureRecognizer else { 
     return 
    } 
    if sender.state == WKGestureRecognizerState.began { 
     print("Touch down") 
    } else if sender.state == WKGestureRecognizerState.ended { 
     print("Touch up") 
    } 
}