0

2 개의보기 (목록 및지도) 사이를 전환 할 수있는보기 컨트롤러 (내비게이션 컨트롤러)가있어 사용자가보기간에 전환 할 수 있습니다. 지도는 모달보기입니다. 현재이 작업을 수행했습니다UIViewControllers UINavigationController를 사용하여 애니메이션을 밀고 팝합니다. 모달보기를 닫으시겠습니까?

사용자가 위치를 선택하면 계층 구조 아래로 이동하고 일부 위치 세부 정보가 표시됩니다. 이 계층 구조에서 사용자는 여전히지도를 볼 수 있습니다. 현재 사용자를 UINavigationController 메서드를 사용하여 루트 컨트롤러로 가져오고 있습니다. - (NSArray *) popToRootViewControllerAnimated : (BOOL) 애니메이션이있는 상태에서 UIViewController 메서드를 즉시 호출하면 - (void) presentModalViewController : (UIViewController *) modalViewController animated : (BOOL) 애니메이션 두 애니메이션을 함께 사용하여 좀 지저분 해 보입니다.

나는 그 짧은 지연 NSTimer를 추가하기로 결정했다. - (void) presentModalViewController : (UIViewController *) modalViewController animated : (BOOL) animated.

내 질문에, 이것을하는 더 깨끗한 방법이 있습니까? App Store 응용 프로그램을 사용하고 새 응용 프로그램을 다운로드 한 경우에도 비슷한 가정 예가 있습니다. 앱 스토어는 앱의 마지막 페이지로 움직입니다 (이미 존재하지 않는다고 가정). 나는이 스타일의 애니메이션을 찾고 있습니다.

많은 감사

답변

0

당신이 올바른 궤도에 있지만 조금 청소기를 보이는 performSelector:withObject:afterDelay:

... 
    [self performSelector:showModalController withObject:nil afterDelay:2.0]; 
... 

-(void)showModalController 
{ 
    [self presentModalViewController:myModalViewController animated:YES]; 
} 
+0

아를 사용하여 NSTimer를 사용하는 단계를 건너 뛸 수는, 할 수있는 유일한 방법처럼 보인다 이것은 타이머와 함께, 나는 그것이 장치 사이의 약간의 성능 차이일지도 모르는 것처럼 그것을 피하고 싶었다. – Chris

관련 문제