Анимация: Как заставить 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"];