我正在构建一个应用程序并部署目标返回iOS 7(因此Xcode6中的启动屏幕文件对我不起作用)
问题是应用程序将具有在开始时出现的启动图像。在AppDelegate完成并加载导航视图作为rootviewController(在故事板中定义)之后。我添加了一个带有uiactivityIndicatorView的启动图像的新子视图(在ViewDidload中)(因此,它保持光滑并告诉用户它正在正常工作)。
问题是在AppDelegate完成后,它将显示rootviewController的视图,然后显示"带有UiActivityIndicatorView的启动图像"。尽管显示得很快,但看起来像屏幕闪烁,并且会影响用户体验。
我该怎么做才能避免它?谢谢你
- (void)viewDidLoad
{
[super viewDidLoad];
//Create a simple UIView with BG img and UIActivityIndicator
dispatch_sync(dispatch_get_main_queue(),^{
[self popLoadingScreenWithType:0];
});
//...something else for App execute
}
您可以做的是将启动屏幕视图作为视图控制器中的主视图,然后在一段时间延迟后将其隐藏。
[self performSelector:@selector(loadMainView) withObject:nil afterDelay:2.0];
在此loadMainView方法中 ->隐藏飞溅屏幕,然后显示主视图。
另外,您可以设置一个计时器并创建相同的效果
NSTime *firstScreenTimer = [NSTimer scheduledTimerWithTimeInterval:2.2 target:self selector:@selector(loadMainView) userInfo:nil repeats:NO];