我希望我的启动图像在启动后一秒后消失。
所以在.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;
}
但显然它没有被召唤。
还有其他方法可以让这张图片视图在发布时淡出吗?
非常感谢,
答案 0 :(得分:2)
执行此操作的最简单方法是将标志设置为bool值,然后将其传递给视图控制器,然后检查它是否已启动。并且仅在值为false时显示启动屏幕。
之类的东西 if (!notShowSplashScreen) {
...Your code ...
notShowSplashScreen = TRUE
}
(默认的bool值设置为true,因此每次显示屏幕时都不必传递它)
答案 1 :(得分:1)
在您的app delegate中设置一个属性。
例如@property(nonatomic,assign) BOOL isFirstTime;
-(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];
}