0

我有一个构建并运行良好的 iOS 应用程序。我已经添加了启动图像,但是现在当应用程序从启动图像过渡到实际应用程序时它会闪烁(也就是它们不是平滑过渡)。有趣的是我的启动屏幕与显示的初始视图相同。我制作启动图像的方法是在模拟器中运行应用程序,然后转到文件 > 保存屏幕截图,然后将它们拖到 xcode 中。

4

2 回答 2

0

这就是我用于 splahscreen 的用途。在 Appdelegate 类中设置此代码。它运行顺利。

- (void)showSplashView
{
    splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height)];
    splashView.image = [UIImage imageNamed:@"default.png"];
    [self.window addSubview:splashView];
    [self.window bringSubviewToFront:splashView];

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.window cache:YES];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
    splashView.frame = CGRectMake(-80, -80, self.window.frame.size.width+160.0, self.window.frame.size.height+160.0);
    splashView.alpha = 0.0;
    [UIView commitAnimations];
}

- (void)startupAnimationDone:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
    [splashView removeFromSuperview];
}

这里的“splashView 是一个简单的 UIImageView”,您可以使用您的图像名称代替默认的 png。

于 2013-06-26T05:58:48.290 回答
0

在我正在使用的开源类中找到了这个

//Fade in
[UIView animateWithDuration:0.3 animations:^{
    self.alpha = 1;
}];

删除它,现在一切正常。

于 2013-06-26T02:12:32.937 回答