2013-02-16 14 views
11

मैं एक बटन पर क्लिक करने पर एक दृश्य को दाईं ओर ले जाना चाहता हूं। मैंने कुछ लिखा लेकिन यह काम नहीं कर रहा है;आईफोन व्यू एनीमेशन

UIView* view = [self.view viewWithTag:100]; 
if (!view) { 
    NSLog(@"nil"); 
} 

[UIView animateWithDuration:0.3f 
       animations:^{ 
        [view setTransform:CGAffineTransformMakeTranslation(-100, 0)]; 

       } 
       completion:^(BOOL finished){ 

       } 
]; 

उत्तर

20

इस कोड को आजमाएं;

UIView* view = [self.view viewWithTag:100]; 
    [UIView animateWithDuration:0.5 
           delay:0.1 
          options: UIViewAnimationCurveEaseOut 
         animations:^ 
     {     
      CGRect frame = view.frame; 
      frame.origin.y = 0; 
      frame.origin.x = (-100); 
      view.frame = frame; 
     } 
         completion:^(BOOL finished) 
     { 
      NSLog(@"Completed"); 

     }]; 
+0

काम करता है जैसे अन्य विकल्प, विकल्प बेहतर उपयोग करने के लिए कर रहे हैं: UIViewAnimationOptionCurveEaseOut – TharakaNirmana

2

क्या यह पसंद है।

leftFrame फ्रेम जहां शुरू कर सकते हैं और सही फ्रेम है, जहां आप

UIView* view = [self.view viewWithTag:100]; 
if (!view) { 
    NSLog(@"nil"); 
} 
[vw setFrame:leftFrame]; 
[UIView animateWithDuration:0.3f 
       animations:^{ 
         [vw setFrame:rightFrame]; 
       } 
       completion:^(BOOL finished){ 
       } 
]; 

मुबारक कोडिंग :)

2

इस

की तरह चिकनी एनीमेशन के साथ अपने दृश्य को ले कर सकते हैं पर ले जाना चाहते है
- (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view 
{ 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.2]; 
[UIView setAnimationCurve:UIViewAnimationCurveLinear]; 
[view setFrame:CGRectMake(xPosition, view.frame.origin.y,view.frame.size.width, view.frame.size.height)]; 
[UIView commitAnimations]; 
} 

और यह इस

की तरह फोन

अधिक के लिए आप इसे इस तरह की फ़ंक्शन कॉल पर अपनी आवश्यकता अवधि को पारित करने के लिए भी संशोधित कर सकते हैं।

- (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view withDuration:(float)duration; 

मेरे लिए

UIView* view = [self.view viewWithTag:99999]; 
[UIView animateWithDuration:0.9 
          delay:0.0 
         options: UIViewAnimationCurveEaseOut 
        animations:^ 
    {     
     CGRect frame = view.frame; 
     frame.origin.y = 68; 
     frame.origin.x = 0; 
     view.frame = frame; 
    } 
        completion:^(BOOL finished) 
    { 
     NSLog(@"Completed"); 

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