我試圖讓我的應用程序在按下按鈕時在屏幕中間顯示圖像(PNG),然後在幾秒鐘後使淡出。我將如何能夠做到這一點?它也是一個小PNG,所以我怎麼才能讓它顯示在原來的大小,而不是伸展出來,以適應整個屏幕? 任何提示,建議或答案非常感謝!如何讓圖像在iOS應用程序中出現或消失?
另外我是這個網站的新手,所以你可以給我打電話或者幫我改進這個問題因爲有些人認爲它不完整。謝謝大家的慷慨解答! :)
我試圖讓我的應用程序在按下按鈕時在屏幕中間顯示圖像(PNG),然後在幾秒鐘後使淡出。我將如何能夠做到這一點?它也是一個小PNG,所以我怎麼才能讓它顯示在原來的大小,而不是伸展出來,以適應整個屏幕? 任何提示,建議或答案非常感謝!如何讓圖像在iOS應用程序中出現或消失?
另外我是這個網站的新手,所以你可以給我打電話或者幫我改進這個問題因爲有些人認爲它不完整。謝謝大家的慷慨解答! :)
與初始化一個UIImageView
一個UIImage
:
// Assuming MyImage.png is part of the project's resources.
UIImage *image = [UIImage imageNamed:@"MyImage.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
// Add imageView to a parent view here.
[UIView animateWithDuration:0.2f delay:3.0f options:0
animations:^{imageView.alpha = 0.0;}
completion:^{[imageView removeFromSuperview];}];
考慮下次只是給一些提示 –
我會在這裏給出答案對於問題的第二部分(以正常大小顯示圖像),因爲這是最好的答案,您應該將UIImageView的* contentMode *屬性設置爲* UIViewContentModeCenter *。您可以通過在Interface Builder中選擇UIImageView (或在你的故事板),並設置屬性,或以編程方式:** imageView.contentMode = UIViewContentModeCenter; **。 – rdurand
非常感謝大家快速和有益的答案!我真的很喜歡stackoverflow :) – iHackerMe
NSArray *animationArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"myImage.png"], nil];
[NSTimer scheduledTimerWithTimeInterval:.75 target:self selector:@selector(crossfade) userInfo:nil repeats:YES];
mainImageView.animationImages = animationArray;
mainImageView.animationDuration = 4.5; //mainImageView is instance of UIImageView
mainImageView.animationRepeatCount = 0;
[mainImageView startAnimating];
CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
crossFade.autoreverses = YES;
crossFade.repeatCount = 1;
crossFade.duration = 1.0;
和目標方法:
- (void) crossfade {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; // user dependent transition acn be set here
mainImageView.alpha = !mainImageView.alpha;
[UIView commitAnimations];
}
下面是示出用於在按鈕按下幾秒鐘圖像的代碼: 在您的按鈕動作中加入以下代碼:
imageView.image=yourImage;
[self performSelector:@selector(waitAndGo) withObject:nil afterDelay:5];
這裏是爲waitAndGo實施:
-(void)waitAndGo
{
imageView.hidden=YES;
}
這一個完美。 – Cybernetic
好,使之顯示在屏幕中間,你可能* *一個UIImageView有位置。使其褪色可能會涉及使用動畫的東西,但我從來沒有嘗試過。 –
(你有沒有考慮到實際上看UIImageView和UIView的文檔?) –
我有,但它並沒有幫助我,讓我更困惑:( – iHackerMe