2010-08-25 15 views
7

मैं वर्तमान में ऐप्पल शैली को देखने के लिए एक कस्टम अलर्ट व्यू प्रदर्शित करने के लिए एक कस्टम UIWindow का उपयोग करता हूं। जब मैं इसे हटा देता हूं, यह स्वचालित रूप से फीका नहीं होता है, इसलिए मैंने UIView एनीमेशन का उपयोग करने का निर्णय लिया और अल्फा को 0 में बदल दिया, फिर इसे हटा दिया लेकिन फिर भी यह चाल नहीं हुई। क्या आप लोग जानते हैं कि क्या करना है?UIWindow एनीमेशन

+0

यह काम करना चाहिए ... कोड आप एनीमेशन – Abramodj

उत्तर

0

इस प्रयास करें:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:2.0]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

greyWindow.alpha = 0; 

[UIView commitAnimations]; 
+0

खेद बनाने के लिए उपयोग कर रहे हैं पोस्ट करें, लेकिन यह समस्या, तेह एक ही समस्या के साथ फंस का समाधान नहीं करता – G33kz0r

9

मेरे स्वयं के कस्टम AlertView वर्ग (यह कैसा आप कर रहे हैं लगता है के समान) द्वारा इस्तेमाल किया फीका पृष्ठभूमि खिड़की के लिए मैं एक कस्टम UIWindow बना दिया है और makeKeyAndVisible overrode, लेकिन आप भी कर सकते हैं वर्ग के इस बाहर संदर्भ कार्य करें:

- (void)makeKeyAndVisible 
{ 
    self.backgroundColor = [UIColor clearColor]; 
    self.alpha = 0; 

    [UIView beginAnimations: @"fade-in" context: nil]; 

    [super makeKeyAndVisible]; 

    self.alpha = 1; 

    [UIView commitAnimations]; 
} 

- (void)resignKeyWindow 
{ 
    self.alpha = 1; 

    [UIView beginAnimations: @"fade-out" context: nil]; 

    [super resignKeyWindow]; 

    self.alpha = 0; 

    [UIView commitAnimations]; 
} 
संबंधित मुद्दे