2 Stimmen

Wie kann ich mein UIImage vertikal von oben nach unten verschieben?

Ich möchte, dass sich das UIImage auf dem Bildschirm vertikal nach unten bewegt und wenn es das Ende erreicht hat, soll es wieder von oben beginnen. wie kann ich das machen???

Bitte um Hilfe Danke

1voto

Mike Punkte 8693

Angenommen, Ihr UIImage befindet sich in einer UIImageView und die Bildansicht ist 320 x 480 groß...

Ihr Animationsblock kann eine Methode aufrufen, wenn er fertig ist. Diese Methode setzt die Position Ihrer UIImageView zurück und startet dann die Animation neu.

Animationsblock:

-(void)animate {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.3];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(myCallback:finished:context:)];

    CGRect frame = yourImageView.frame;
    frame.origin = CGPointMake(0, 480);
    yourImageView.frame = frame;

    [UIView commitAnimations];

}

Rückruf:

(void)myCallback:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {

    CGRect frame = yourImageView.frame;
    frame.origin = CGPointMake(0, 0)
    yourImageView.frame = frame;
    [self animate];
}

0voto

sony Punkte 21

So habe ich meinen Code geschrieben bewegen.h

#import <UIKit/UIKit.h>
@interface movingViewController : UIViewController{ 
UIImageView *imageView1;
}
@property (retain , nonatomic) UIImageView *imageView1;
@end

bewegend.m

#import "movingViewController.h"
@synthesize imageView1;
-(void) animate {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(myCallback:finished:context:)];

CGRect frame = imageView1.frame;
frame.origin = CGPointMake(0, 480)
imageView1.frame = frame;

[UIView commitAnimations];  
}

- (void)viewDidLoad {

    [super viewDidLoad];
 }

 -(void)myCallback:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {

CGRect frame = imageView1.frame;
frame.origin = CGPointMake(0, 0)
imageView1.frame = frame;
[self animate];
}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];}
- (void)viewDidUnload {}
- (void)dealloc {
    [imageView1 dealloc];
    [imageView1 release];
    [super dealloc];
}
@end

Im sorry, einfache Fragen zu stellen, aber im sehr neu zu Xcode

Ist das der richtige Weg?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X