每次发布时都会制作图像视图

时间:2013-08-07 13:46:16

标签: ios objective-c cocoa-touch

我希望我的启动图像在启动后一秒后消失。

所以在.xib之上我放了一个带有初始图像的图像视图,(

首先显示实际的启动画面,然后当加载xib时,会显示具有相同图像的图像视图,使其看起来像是相同的启动画面

我在ViewController.m中使用此代码淡化图像

[UIImageView beginAnimations:nil context:NULL];
[UIImageView setAnimationDuration:1.0];
[ImageLoading setAlpha:0];
[UIImageView commitAnimations];

这样可行,但是如果用户转到另一个xib并稍后切换回来,则会再次显示1秒的启动画面。

我在Viewcontroller.m

中尝试了这个
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[UIImageView beginAnimations:nil context:NULL];
[UIImageView setAnimationDuration:1.0];
[ImageLoading setAlpha:0];
[UIImageView commitAnimations];

return YES;

}

但显然它没有被召唤。

还有其他方法可以让这张图片视图在发布时淡出吗?

非常感谢,

4 个答案:

答案 0 :(得分:2)

执行此操作的最简单方法是将标志设置为bool值,然后将其传递给视图控制器,然后检查它是否已启动。并且仅在值为false时显示启动屏幕。

之类的东西
     if (!notShowSplashScreen) { 
...Your code ...
 notShowSplashScreen = TRUE
}

(默认的bool值设置为true,因此每次显示屏幕时都不必传递它)

答案 1 :(得分:1)

在您的app delegate中设置一个属性。 例如@property(nonatomic,assign) BOOL isFirstTime;

在appdelegate的-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOption方法中,将其设置为NO

然后在viewController中,检查此值。 如果为YES,则显示动画并将其设置为NO。 如果是NO,则什么都不做。

答案 2 :(得分:0)

您需要在viewDidLoad

中使用rootViewController方法执行此操作

答案 3 :(得分:0)

你可以像这样在appDelegate中添加一个睡眠

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    [NSThread sleepForTimeInterval:1];
}