UIScrollView가 있고 스크롤 뷰 프레임이 UIView 프레임과 같지 않습니다. 따라서 스크롤보기 프레임 외부에서 스 와이프하는 동안 스크롤보기 내용은 스 와이프되지 않습니다. 스크롤보기는 전체 화면을 다루지는 않지만 전체 화면이 스크롤보기에 응답해야합니다. 스크롤 프레임을 뷰 프레임과 동등하게 만들 수 있다는 것을 알고 있습니다.하지만 그렇게하고 싶지는 않습니다. 나는 지금까지 발견 한 다른 가능한 해결책을 시도했다. 그러나 내가 원하는대로 아무 것도 작동하지 않습니다. 제스처 인식기를 사용하여이 작업을 수행해야합니다.UIView에서 스 와이프 제스처를 인식하여 제스처 인식기를 사용하여 scrollView를 스크롤하십시오.
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
swipeRight.direction = UISwipeGestureRecognizerDirection.right
self.view.addGestureRecognizer(swipeRight)
let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
swipeLeft.direction = UISwipeGestureRecognizerDirection.left
self.view.addGestureRecognizer(swipeLeft)
}
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right:
scrollView.panGestureRecognizer.isEnabled = true
case UISwipeGestureRecognizerDirection.left:
scrollView.panGestureRecognizer.isEnabled = true
default:
break
}
}
}
이것은 내보기 컨트롤러와 파란색 배경이 스크롤 뷰입니다 : 다음
내 코드입니다. 스 와이프 제스쳐는 해당 파란색 영역에서만 작동합니다. 그러나 나는 그것이 모서리에서도 화면을 통해 작동하고 싶습니다. 제스처 인식기을 사용하여 어떻게 구현할 수 있습니까?
참조 http://stackoverflow.com/a/43328905/5173807 – 9it3e1