理想的には、この値を含むある種の定数があるでしょう。
独自のトランジション アニメーションを持つコードを実装していますが、プラットフォームのトランジション アニメーションと同じ長さにしたいと考えています。
理想的には、この値を含むある種の定数があるでしょう。
独自のトランジション アニメーションを持つコードを実装していますが、プラットフォームのトランジション アニメーションと同じ長さにしたいと考えています。
iOS 7以降では、UINavigationController
デリゲートを設定してメソッドを使用することで、正確な値を取得できます。
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
NSTimeInterval duration = [viewController.transitionCoordinator transitionDuration];
}
デフォルトの期間が変更される場合、これは将来の保証方法です。現時点での値は 0.35 秒です。
この値を含む定数はありません。ただし、次の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