2011-10-28 15 views
5

मैं प्रोग्रामिंग आईफोन से मूल मैक अनुप्रयोगों में संक्रमण कर रहा हूं। एक हिस्सा जिसे मैं याद करता हूं वह UIView एनीमेशन सिस्टम की सादगी है।कोको/मैक ऐप विकास में UIView शैली एनिमेशन कैसे करें

-(void) hide{ 
    _isHidden=YES; 
    [UIView commitAnimations]; 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationDuration:0.5]; 
    self.alpha = 0; 
    [UIView commitAnimations]; 
} 
-(void) show{ 
    _isHidden=NO; 
    [UIView commitAnimations]; 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationDuration:0.5]; 
    self.alpha = 1; 
    [UIView commitAnimations];  
} 

अब मुझे यकीन है कि कैसे कोको में यह पूरा करने के लिए नहीं कर रहा हूँ:

मैं एक UIView उपवर्ग के लिए निम्नलिखित दो तरीकों था। मैंने निम्नलिखित की कोशिश की लेकिन मुझे यकीन नहीं है कि यह काम करता है जैसा कि इसे करना चाहिए।

-(void) hide{ 
    [[_myView animator] setAlpha:0]; 
} 

मैं फ़ंक्शन फ़ंक्शन अभी भी चल रहा हो सकता है, जबकि मैं कभी-कभी कई बार इस फ़ंक्शन (छुपाएं) को कॉल करता हूं।

उत्तर

15

यह अपने iOS कोड के रूप में एक ही परिणाम का उत्पादन करना चाहिए:

[NSAnimationContext beginGrouping]; { 
    [[NSAnimationContext currentContext] setDuration:.5]; 
    [[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
    [_myView.animator setAlphaValue:0.0]; 
} [NSAnimationContext endGrouping]; 

डिफ़ॉल्ट अवधि .25 सेकंड है। मुझे यकीन नहीं है कि डिफ़ॉल्ट समय कार्य क्या है। यदि आप डिफ़ॉल्ट के साथ ठीक हैं, तो आप बस यह कह सकते हैं:

[_myView.animator setAlphaValue:0.0]; 
+1

'# आयात ' –

संबंधित मुद्दे