2013-03-08 75 views
0

我想動畫多個圖像的啓動screen.i顯示3圖像作爲啓動屏幕第一個是啓動屏幕的默認圖像比使用Ui-imageview我顯示第二和第三我的Imageview。Fadout飛濺屏幕上的多個圖像在IOS

我想在更改啓動畫面時淡出圖像。我試過NSTimmer的解決方案,但它顯示我直接第三個圖像和緬因州屏幕比我嘗試後,這個解決方案,但它顯示我我的第二和第三個圖像2次接連不斷。 任何幫助表示讚賞

編輯/ - Nikki建議我一些解決方案,但我有混亂,哪個地方我取消隱藏我的第二個圖像視圖? 這裏是我的代碼

backgroundImageView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
backgroundImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 
backgroundImageView.image=[UIImage imageNamed:@"SPLASHSCREEN-2.png"]; 
backgroundImageView2 = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
backgroundImageView2.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 
backgroundImageView2.image=[UIImage imageNamed:@"SPLASHSCREEN-3.png"]; 
[self.view addSubview:backgroundImageView]; 
[self.view addSubview:backgroundImageView2]; 
[backgroundImageView2 setHidden:YES]; 
[self performSelector:@selector(performTransition) withObject:nil afterDelay:1.0]; 

-(void)performTransition 
    { 
CATransition *animation3 = [CATransition animation]; 
[animation3 setDuration:3.0f]; 
[animation3 setType:kCATransitionReveal]; 
[animation3 setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
[[backgroundImageView layer] addAnimation:animation3 forKey:@"SwitchToView"]; 
[backgroundImageView setHidden:YES]; 
[backgroundImageView2 setHidden:NO];//No animation happen while changing the image view 
} 
+0

檢查此鏈接http://stackoverflow.com/questions/13540300/fade-out-image-animation-in-iphone – Rushabh 2013-03-08 13:39:33

+0

@Rushabh他已經提出NStimer技巧是不是有用的在他的情況。請再次閱讀該問題。 – 2013-03-08 13:41:12

+0

@Rushabh在NStimmer的情況下,它不顯示默認圖像,它直接跳轉到第二張圖像,並比主屏幕..第三閃屏和主屏幕不顯示在NStimmer ..我要添加NStimer代碼在主要問題可以你請提出任何解決方案 – 2013-03-08 13:49:37

回答

1

U可以創建要顯示在啓動兩種ImageView並將它們隱藏在第一。只需編寫動畫代碼:

-(void)performTransition 
{ 
    CATransition *animation3 = [CATransition animation]; 
    [animation3 setDuration:3.0f]; 
    [animation3 setType:kCATransitionReveal]; 
    [animation3 setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
    [[backgroundImageView2 layer] addAnimation:animation3 forKey:@"SwitchToView"]; 
    [backgroundImageView setHidden:YES]; 
    [backgroundImageView2 setHidden:NO];//No animation happen while changing the image view 
} 

並設置ImageView將在取消隱藏時設置動畫。動畫類型可通過更改[animation3 setType:kCATransitionReveal];的值進行更改。 記得導入:#import<QuartzCore/QuartzCore.h>

隱藏以前ImageView動畫和動畫顯示未來ImageView你可以寫一個函數內部的代碼,並可以調用使用performSelector該功能,並可以添加所需的時間間隔。

+0

你能幫我嗎我已經編寫代碼,但他們有些困惑..我要編輯主要問題請儘可能幫我 – 2013-03-08 15:36:36

+0

@SwapAndroid - 你需要寫代碼圖像視圖在代碼中隱藏:'[[backgroundImageView layer] addAnimation:animation3 forKey:@「SwitchToView」];'這是'backgroundImageView2',你已經寫了'backgroundImageView'。您需要將動畫添加到您需要動畫的組件層。你的情況是'backgroundImageView2',而不是'backgroundImageView'。更改代碼。動畫將會發生。上面我寫的代碼也是一樣的。 – NiKKi 2013-03-11 07:42:28

+0

我試着按照你所說的改變幾行代碼,然後我不顯示我的splashscreen-2它直接顯示啓動屏幕-1和啓動屏幕-3之後..你可以在這裏粘貼你的代碼,所以我可以讓我的理念更清晰請。 – 2013-03-11 09:14:20