이상적으로이 값을 포함하는 일종의 상수가있을 것입니다.UINavigationController에서 뷰 간 전환 애니메이션이 얼마나 오래 있습니까?
전이 애니메이션이있는 코드를 구현 중이며, 플랫폼 전환 애니메이션과 길이를 같게하고 싶습니다.
이상적으로이 값을 포함하는 일종의 상수가있을 것입니다.UINavigationController에서 뷰 간 전환 애니메이션이 얼마나 오래 있습니까?
전이 애니메이션이있는 코드를 구현 중이며, 플랫폼 전환 애니메이션과 길이를 같게하고 싶습니다.
이 값을 포함하는 상수가 없습니다. 그러나 다음 UINavigationControllerDelegate
방법을 사용하여 :
- (void) navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
startTime = [[NSDate date] retain];
}
- (void) navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
NSLog(@"Duration %f", [[NSDate date] timeIntervalSinceDate: startTime]);
}
... 난 시간은 약 0.35 초
는 흥미롭게도, 전망의 다른 부분이 제자리에 전환 다른 시간을 가지고 있음을 알 수있다. 아이폰 OS 7에서
http://www.iclarified.com/12396/a-closer-look-at-iphone-transition-animations
그리고 나중에는 방법 UINavigationController
대리자를 설정하고 사용하여 정확한 값을 가질 수 있습니다 : 자세한 내용은이 훌륭한 블로그 게시물을 참조 이것은 미래
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
NSTimeInterval duration = [viewController.transitionCoordinator transitionDuration];
}
입니다 불일치 지속 시간이 언제 변할 지 증명 방법. 현재 가치는 0.35 초입니다.
위대한 블로그 게시물! 링크를 가져 주셔서 감사합니다. – morais
iOS 8에서는 애니메이션 지속 시간이 '0.2 초'로 표시됩니다. (이제 상수가 있습니다 :'UINavigationControllerHideShowBarDuration'.) – zekel
이 주석은 답이되어야합니다. 여러 번 도움이되었습니다. – fpg1503