설명 및 의도
- 웹뷰 네비게이션에서 앞, 뒤로 이동할 때 쓸어넘김으로 기능 구현하고자 함
방법
- goBack(), goForward() 함수로 구현 (버튼액션이나 혹은 핸들러 이용시)
- 또는 웹뷰의 프로퍼티 설정 값 변경으로 구현
- 또는 스와이프 제스쳐로 구현
내용
self.webView.allowsBackForwardNavigationGestures = true
또는 스와이프 제스쳐 (UIGestureRecognizerDelegate 프로토콜 채택)
이슈
- 뒤로가는 스와이프 동작은 방향을 .left 가 아닌 .right 로 지정( 터치를 오른쪽으로 이동하므로)
- 제스쳐가 중복이 될경우 동작하지 않는 상황 발생하여 딜리게이트 메서드 추가해야 함 (중복된 제스쳐 허용)
더 확인해볼 내용
- func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool
Asks the delegate if a gestrue recognizer should require another gesture recognizer to fail.
- func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool
Asks the delegate if a gesture recognizer should be required to fail by another gesture recognizer.
- func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool
Asks the delegate if two gesture recognizers should be allowed to recognize gestures simultaneously. (제스쳐 두개가 동시에 인식되는지 여부)
API Reference
- Protocol UIGestureRecognizerDelegate