1

내 맞춤 버튼은 내 앱의 왼쪽 하단에 있습니다. 탐색 스택에 더 이상 뷰 컨트롤러가 없으면 버튼이 아래로 바뀌고 루트 노드에만 표시됩니다. 이제 iOS7의 표준 인 "스 와이프 투 팝업 (swipe to pop)"기능을 선보였습니다. 스 와이프 제스처가 화면을 얼마나 멀리 움직 였는지에 따라 버튼 전환을 만들고 싶습니다.interactivePopGestureRecognizer 대화식 전환으로 다른 애니메이션 동기화

나는 스 와이프 동작을 받기 위해 interactivePopGestureRecognizer의 타겟으로 내 자신의 내비게이션 컨트롤러를 추가하기까지했다. 그래서 나는 슬쩍 시작, 움직임 (속도, 방향 및 점)과 멈출 때를 안다. 그래서 나는 뒤로 버튼의 위치를 ​​손가락이 스크린에 어디에 문제가 없는지에 의존하게 만들 수있다.

사용자가 화면에서 손가락을 들어 올리면보기가 튀어 나오거나 원래 위치로 돌아갑니다. 이걸 발견 한 유일한 방법은 UINavigationControllerDelegate 메서드입니다. - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated이 메서드는 앱이 돌아 오는 뷰가 완전히 표시 될 때 호출됩니다 (애니메이션이 터지기를 마쳤습니다). 따라서 뷰가 튀지 않았는지 확인하는 방법은 접촉이 끝난 후 잠시 기다리는 것이고 위의 메서드가 호출 된 경우에는 물론 좋은 해결책은 아닙니다.

애니메이션의 위치와 애니메이션 완성/취소에 대한 알림을받을 수있는 가장 좋은 상황이 될 것입니다. 언급 할 또 다른 점은 접근하기가 힘들다는 것입니다. 팝업을하기로 결정한 것은 손가락의 화면 위치에 의해서만 만들어지는 것이 아니라 속도 등등이기 때문입니다.

팁을 주시면 감사하겠습니다.

답변

1

어쨌든 이런 종류의 문제를 해결할 수있었습니다. 적어도 애니메이션 완료 여부를 알려주는 관리. 나는 이와 비슷한 또 다른 질문에 나의 대답을 게시했다. here 그것이 도움이되기를 희망한다.

관련 문제