Как долго происходит анимация перехода между представлениями на UINavigationController? В идеале, будет какая-то константа, содержащая это значение. Я реализую код, у которого есть собственные анимации перехода, и я бы хотел, чтобы они имели ту же длину, что и анимации перехода на платформу. Ответ 1 Нет константы, содержащей это значение. Однако, используя следующие методы 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 секунды Интересно, что разные части взглядов имеют разные времена перехода к месту. Смотрите это замечательное сообщение в блоге для более подробной информации: http://www.iclarified.com/12396/a-closer-look-at-iphone-transition-animations Ответ 2 В iOS 7, а затем вы можете получить точное значение, установив делегат UINavigationController и используя метод: - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { NSTimeInterval duration = [viewController.transitionCoordinator transitionDuration]; } Это будущий метод доказательства, если длительность дефиле будет когда-либо изменяться. В настоящий момент это значение составляет 0,35 секунды.
Ответ 1 Нет константы, содержащей это значение. Однако, используя следующие методы 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 секунды Интересно, что разные части взглядов имеют разные времена перехода к месту. Смотрите это замечательное сообщение в блоге для более подробной информации: http://www.iclarified.com/12396/a-closer-look-at-iphone-transition-animations
Ответ 2 В iOS 7, а затем вы можете получить точное значение, установив делегат UINavigationController и используя метод: - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { NSTimeInterval duration = [viewController.transitionCoordinator transitionDuration]; } Это будущий метод доказательства, если длительность дефиле будет когда-либо изменяться. В настоящий момент это значение составляет 0,35 секунды.