Анимация: Как заставить UIbutton перемещаться справа налево при загрузке представления?

Я еще не делал анимационных материалов с разработкой iphone.

Может ли кто-нибудь помочь мне, как заставить UIbutton перемещаться справа налево при загрузке представления?

Я хочу создать такой эффект: когда изображение загружено, кнопка отображается с правой стороны налево и останавливается на своем месте. Возможно ли это?

Любая помощь в отношении этого материала анимации оценена. Пожалуйста, помогите с некоторыми примерами, если они доступны.

Спасибо заранее.

Ответы

Ответ 1

Чтобы сделать его еще более гладким, я бы предложил не менять рамку UIView, но его центр;

CGPoint newLeftCenter = CGPointMake( 20.0f + myButton.frame.size.width / 2.0f, myButton.center.y);
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0f];
myButton.center = newLeftCenter;
[UIView commitAnimations];

Ответ 2

в вашем анимированном методе viewDidAppear: (BOOL) вы можете изменить рамку своей кнопки внутри блока анимации. так что вы увидите, что хотите. Проверьте документацию об анимации в ссылке класса UIView. Самый простой блок анимации будет таким (извините, у меня сейчас нет макроса, поэтому код может не работать сразу после копирования и вставки)

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0f];
[myButton setFrame:newFrame];
[UIView commitAnimations];

Ответ 3

Сверху вниз анимация

CATransition *animation = [CATransition animation];
[animation setDuration:0.4];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromBottom];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[TopButton layer] addAnimation:animation forKey:@"SwitchToDown"];

Ответ 4

/* Общие подтипы перехода. */

kCATransitionFromRight

kCATransitionFromLeft

kCATransitionFromTop

kCATransitionFromBottom

Swift:

    let transition1: CATransition = CATransition()
    let timeFunc1 : CAMediaTimingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
    transition1.duration = 1.0
    transition1.timingFunction = timeFunc1
    transition1.type = kCATransitionPush
    transition1.subtype = kCATransitionFromRight
    self.yourBtnORViewRef.layer.addAnimation(transition1, forKey: kCATransition)

Objective-C

CATransition *animation = [CATransition animation];
[animation setDuration:1.0];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[self.yourBtnORViewRef layer] addAnimation:animation forKey:@"SwitchToRight"];