Hi I am developing one application.In that i did the animation for one view to move from left to right and right to left and changing the values for labels contained in that
try this
First clik L to R
CGRect basketTopFrame = Yourview.frame;
basketTopFrame.origin.x = 115;
[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{ Yourview.frame = basketTopFrame; } completion:^(BOOL finished){ }];
then R To L
CGRect napkinBottomFrame = Yourview.frame;
napkinBottomFrame.origin.x = 0;
[UIView animateWithDuration:0.3 delay:0.0 options: UIViewAnimationOptionCurveEaseOut animations:^{ Yourview.frame = napkinBottomFrame; } completion:^(BOOL finished){/*done*/}];
Use the below code,
UIView * testView = [[UIView alloc] initWithFrame:CGRectMake(20.0f, 100.0f, 300.0f, 200.0f)];
[testView setBackgroundColor:[UIColor blueColor]];
[self.view addSubview:testView];
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse
animations:^{
[testView setFrame:CGRectMake(0.0f, 100.0f, 300.0f, 200.0f)];
}
completion:nil];
[testView release];
And check the below link: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_uiview-animations/
Using Swift 4.2 and Swift 5
Animate UIView from left to right or vice versa. 0 for Left to right and 1 for Right to left
class AnimationView: UIView {
enum Direction: Int {
case FromLeft = 0
case FromRight = 1
}
@IBInspectable var direction : Int = 0
@IBInspectable var delay :Double = 0.0
@IBInspectable var duration :Double = 0.0
override func layoutSubviews() {
initialSetup()
UIView.animate(withDuration: duration, delay: delay, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.2, options: .curveEaseIn, animations: {
if let superview = self.superview {
if self.direction == Direction.FromLeft.rawValue {
self.center.x += superview.bounds.width
} else {
self.center.x -= superview.bounds.width
}
}
})
}
func initialSetup() {
if let superview = self.superview {
if direction == Direction.FromLeft.rawValue {
self.center.x -= superview.bounds.width
} else {
self.center.x += superview.bounds.width
}
}
}
}
when Button click UIView slide right to left and left to right.
Global Declare NSString *string = @"one";
- (void)viewDidLoad
{
[super viewDidLoad];
stringslider = @"one";
}
Action Button "click"
-(IBAction)slider:(id)sender{
if ([stringslider isEqualToString:@"one"]) {
[UIView animateWithDuration:0.2
animations:^{[sliderview setFrame:CGRectMake(205, [sliderview frame].origin.y, 116, 275)];
}
completion:nil];
stringslider = @"two";
}
else if ([stringslider isEqualToString:@"two"]) {
[UIView animateWithDuration:0.2
animations:^{[sliderview setFrame:CGRectMake(342, [sliderview frame].origin.y, 116, 275)];
}
completion:nil];
stringslider = @"one";
}
}
easy uiview animation is done.
Try the following code, I'm using in my apps:
CGRect rectLeft = btnLeft.frame;
rectLeft.origin.x = rectLeft.origin.x + rectLeft.size.width;
CGRect rectRight = btnRight.frame;
rectRight.origin.x = rectRight.origin.x - rectRight.size.width;
[UIView animateWithDuration:0.5 animations:^{
btnLeft.frame = rectLeft;
btnRight.frame = rectRight;
} completion:nil];