2016-09-16 7 views
0

Ich habe ein Bild von Pfeil, ich möchte das Bild von unten nach oben fliegen. Ich habe Nachforschungen darüber angestellt, kann aber nicht die richtige Lösung finden.Objekt von unten nach oben bewegen

self.View.frame = CGRectMake(0, 490, 320, 460); 

Für die Animation von unten unten nach oben hinzufügen:

[UIView animateWithDuration:0.5 
         delay:0.1 
        options: UIViewAnimationCurveEaseIn 
       animations:^{ 
        self.View.frame = CGRectMake(0, 0, 320, 460); 
       } 
       completion:^(BOOL finished){ 
       }]; 
[self.view addSubview:self.View]; 

ich diesen Code verwendet haben, aber es ist nicht meine Anforderung erfüllen.

Ich möchte den Pfeil, so fliegen: link

Dank.

+0

Mögliches Duplikat [Moving UIView von unten nach oben] (http://stackoverflow.com/questions/15870479/moving-uiview-from-bottom-to-top) – Rahul

+0

Bitte testen Sie meine Probe und zurück zu mir ... – KSR

Antwort

1

ich eine Probe Animation für Ihre Anforderung hergestellt.

#import "ViewController.h" 

@interface ViewController() 
@property (weak, nonatomic) IBOutlet UIImageView *arrowImageView; 
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *arrowLeadingSpaceConstraint; 
- (IBAction)goButtonTapped:(id)sender; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 


    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES]; 

    float degrees = 270; //the value in degrees 
    self.arrowImageView.transform = CGAffineTransformMakeRotation(degrees * M_PI/180); 

} 


- (IBAction)goButtonTapped:(id)sender { 

    // self.arrowLeadingSpaceConstraint.constant = 310; 

    self.arrowImageView.frame = CGRectMake(310, 574, 20, 30); 

    float degrees = 270; //the value in degrees 
    self.arrowImageView.transform = CGAffineTransformMakeRotation(degrees * M_PI/180); 



    [UIView animateWithDuration:0.2 
          delay:0.0 
         options: UIViewAnimationOptionCurveEaseOut 
        animations:^{ 

         self.arrowImageView.frame = CGRectMake(100, 574, 20, 30); 

         self.arrowImageView.transform = CGAffineTransformMakeRotation(0 * M_PI/180); 
        } 
        completion:^(BOOL finished){ 

         [UIView animateWithDuration:0.2 
               delay:0.0 
              options: UIViewAnimationOptionCurveEaseOut 
              animations:^{ 

               self.arrowImageView.frame = CGRectMake(50, 150, 20, 30); 


              } 
              completion:^(BOOL finished){ 


               [UIView animateWithDuration:0.1 
                    delay:0.0 
                    options: UIViewAnimationOptionCurveEaseOut 
                   animations:^{ 
                     self.arrowImageView.frame = CGRectMake(80, 100, 20, 30); 

                   } 
                   completion:nil]; 

             }]; 

        }]; 


} 
@end 

enter image description here

enter image description here

Sie bitte folgenden Link meiner GitHub Link verwenden, Probe testen:

https://github.com/k-sathireddy/ArrowAnimation

Bitte die Animation glatt.

+0

@ Sathi Reddy vielen Dank. –

+0

Sie sind willkommen ... – KSR

0

Ihr Code ausführen Fein:

[self.view addSubview:self.View]; 

Dieses Spiel setzen Vor-Animation-Code

0

Sie müssen Ihre subView zu Ihrem viewvor hinzufügen Sie versuchen, es zu animieren. Zum Beispiel:

// Add subview 
[self.view addSubview:self.myView]; 

// Now animate it 
[UIView animateWithDuration:0.5 
     delay:0.1 
     options: UIViewAnimationCurveEaseIn 
     animations:^{ 
      self.myView.frame = CGRectMake(0, 0, 320, 460); 
     } 
      completion:^(BOOL finished){ 
}]; 

Auch Namen, die mit Großbuchstaben beginnen, sind für Klassen reserviert. Umbenennen View. Vielleicht zu myView, viewToAnimate, someRandomView, etc ...

Verwandte Themen