2012-09-17 12 views
24

मैं अपने आईफोन गेम में एक अधिसूचना प्रणाली पर काम कर रहा हूं और एक छवि स्क्रीन पर पॉप अप करना चाहता हूं और स्वचालित रूप से 2 सेकंड के बाद फीका चाहता हूं।2 सेकंड के बाद UIImageView दिखाएं और फीका

  1. उपयोगकर्ता एक बटन है कि विधि "popupImage"
  2. एक छवि एक निर्दिष्ट स्थान में स्क्रीन पर दिखाई देता है, यह
  3. में फीका करने के लिए छवि से ही फ़ेड आउट होने के बाद की जरूरत नहीं है कॉल क्लिक करता है स्क्रीन पर 2 सेकंड के लिए।

क्या ऐसा करने का कोई तरीका है? समय से पहले धन्यवाद।

उत्तर

53

उपयोग UIView समर्पित तरीकों शुरू कर सकते हैं।

तो कल्पना करें कि आपके पास पहले से ही UIImageView तैयार है, जो पहले से ही बनाया गया है और मुख्य दृश्य में जोड़ा गया है, लेकिन बस छुपा हुआ है।

-(IBAction)popupImage 
{ 
    imageView.hidden = NO; 
    imageView.alpha = 1.0f; 
    // Then fades it away after 2 seconds (the cross-fade animation will take 0.5s) 
    [UIView animateWithDuration:0.5 delay:2.0 options:0 animations:^{ 
     // Animate the alpha value of your imageView from 1.0 to 0.0 here 
     imageView.alpha = 0.0f; 
    } completion:^(BOOL finished) { 
     // Once the animation is completed and the alpha has gone to 0.0, hide the view for good 
     imageView.hidden = YES; 
    }]; 
} 

कि के रूप में सरल: अपने विधि बस एक एनीमेशन शुरू 2 सेकंड बाद, यह पता नहीं हो पाती 1.0 से 0.0 करने के लिए अपने "अल्फा" संपत्ति एनिमेट द्वारा (एक 0.5s एनीमेशन के दौरान) यह दृश्यमान बनाना होगा, और !

+0

के संस्करण इस के लिए धन्यवाद! –

+0

धन्यवाद यह मेरी मदद करता है। – Shivaay

+0

http://stackoverflow.com/a/29080894/1442541 – evya

0

हां वहाँ है। UIView ब्लॉक आधारित एनीमेशन here पर एक नज़र डालें। और एक उदाहरण के लिए गूगल।

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations 

तुम भी उसके लिए एक timer

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats 
10
स्विफ्ट और XCode 6

self.overlay.hidden = false 
UIView.animateWithDuration(2, delay:5, options:UIViewAnimationOptions.TransitionFlipFromTop, animations: { 
    self.overlay.alpha = 0 
    }, completion: { finished in 
    self.overlay.hidden = true 
}) 

जहां ओवरले मेरी छवि के लिए दुकान है में

2

स्विफ्ट 3 @AliSoftware के जवाब

imageView.isHidden = false 
imageView.alpha = 1.0 

UIView.animate(withDuration: 0.5, delay: 2.0, options: [], animations: { 

      self.imageView.alpha = 0.0 

     }) { (finished: Bool) in 

      self.imageView.isHidden = true 
     } 
संबंधित मुद्दे