2017-04-26 6 views
2

Apple의 iOS 10지도 앱에서 엉덩이 시트를 재현하려고합니다. 대부분은 작동 중입니다. 나는 this SO postPulley on GitHub을보고 있었지만 그 중 아무도 내 문제를 해결하지 못했습니다.동일한 동작으로 한 뷰를 다른 뷰로 드래그 변경

시트가 완전히 열리면 시트 내용을 UITableView으로 스크롤 할 수 있지만 사용자가 아래로 스크롤하려고하면 (UITableViewcontentOffset이 음수) 제스처가 드래그됩니다. UITableView 대신 시트 제스처는 UITableView을 드래그하여 시트를 드래그하는 방식으로 원활하게 변경됩니다.

제스처 위임자의 shouldRecognizeSimultaneouslyWith에서 UITableView의 스크롤을 비활성화 할 수 있지만이 동작은 제스처가 시작될 때만 호출됩니다.

UITableViewpanGestureRecognizer을 제어 할 수 없으므로 제스처를 캡처하여 이동해야하는보기를 결정할 수 없습니다.

제스처를하면서 UIGestureRecognizer을 인식해야하는 것을 어떻게 변경할 수 있습니까?

screenshot of Apple's iOS 10 Maps app

+0

당신이 사용자 정의 팬에 대한 shouldRecogniseGesture을 구현하고, 이것은있는 tableview와 같은이로 이동 될 수있는 시트를 모두 원인이 tableView.contentOffset == 0 – SeanLintern88

답변

0

시도

override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { 
    if gestureRecognizer == myCustomPanGesture { 
     return self.tableView.contentOffset == 0 
    } 
    return true 
} 
+0

을 반환 캔트 . 시트가 아래로 드래그되고있는 동안,'UITableView'의'contentOffset'이 증가하고 있습니다. 이것은 또한 해결되지 않습니다. 제스처가 양수'contentOffset'에서 드래그하기 시작하면, 제스처 wount는'contentOffset'가 0이 될 때 시트를 드래그하는 것으로 바뀝니다. – Wiingaard

+0

흠집이있는 보이지 않는보기를 만들고 번역이 어디로 가야 하는지를 지정해야합니다. – SeanLintern88

+0

그렇다면'UITableView'의 스크롤 효과를 느슨하게 할 것입니다. 스 와이프를하면 자유롭게 돌아가고 점차 속도가 떨어집니다. 권리? – Wiingaard