我的应用程序中有一堆基于回合的游戏,我使用相同的动画来声明起始玩家。
在 viewDidLoad 的最后,我放置了声明代码。它会截取当前视图的屏幕截图,然后将其稍微模糊,并出现标签以显示起始玩家的名称。问题是有时它发生得很快,我得到了前一个视图的屏幕截图,标签出现在前一个视图的模糊屏幕截图上。
我的 viewDidLoad 看起来像这样:
-(void) viewDidLoad
{
[super viewDidLoad];
[self initializeThings];
[self layoutUI]; //In some of the games this part requires heavy processing,
//ie laying out a 2D array of buttons (20x20=400 of them)
[self showStartingPlayer];
}
cover vertical
我在所有 VC 中使用默认的过渡风格。我尝试通过使用带有延迟的 performSelector 来调用[self showStartingPlayer];
deferred,但不同的设备需要不同的延迟值,因此它不是一个强大的解决方案。我可以在 viewcontroller 生命周期中使用任何其他方法而不是 viewDidLoad 或任何实用的方法来做这样的事情吗?