我有一个控制器,它使用动画 UIImageView 来显示 30 512 x 512 帧的序列。当我运行应用程序时,视图会快速执行以下操作。
- (void)viewDidLoad {
[super viewDidLoad];
[[self imageView] setAnimationImages:[[self dataModel] framesForLOOP]];
[[self imageView] setAnimationDuration:2.5];
[[self imageView] setAnimationRepeatCount:1];
[[self imageView] startAnimating];
NSLog(@"MARKER_001");
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"MARKER_002");
}
这一切都很好,但我想要解决的是,在viewDidLoad:
调用之后有 2 秒的延迟viewDidAppear:
(在 MARKER_001 和 MARKER_002 之间)。
我在想可能会延迟设置帧NSArray
或在调用之后setAnimationImages:
或之后startAnimating
。
无论如何要减少/消除这种延迟,我宁愿在启动时预加载动画并在那里受到打击,而不是在 viewController 加载时延迟,因为它使触发 segue 以实例化新控制器的按钮感觉滞后。