Просмотр анимации в iPhone
Я хочу переместить один вид вправо, когда я нажал кнопку.
Я что-то написал, но он не работает;
UIView* view = [self.view viewWithTag:100];
if (!view) {
NSLog(@"nil");
}
[UIView animateWithDuration:0.3f
animations:^{
[view setTransform:CGAffineTransformMakeTranslation(-100, 0)];
}
completion:^(BOOL finished){
}
];
Ответы
Ответ 1
попробуйте этот код;
UIView* view = [self.view viewWithTag:100];
[UIView animateWithDuration:0.5
delay:0.1
options: UIViewAnimationCurveEaseOut
animations:^
{
CGRect frame = view.frame;
frame.origin.y = 0;
frame.origin.x = (-100);
view.frame = frame;
}
completion:^(BOOL finished)
{
NSLog(@"Completed");
}];
Ответ 2
Сделайте это так
.
leftFrame - это кадр, в котором вы можете начать, и правый кадр - это место, где вы хотите перейти на
UIView* view = [self.view viewWithTag:100];
if (!view) {
NSLog(@"nil");
}
[vw setFrame:leftFrame];
[UIView animateWithDuration:0.3f
animations:^{
[vw setFrame:rightFrame];
}
completion:^(BOOL finished){
}
];
Счастливое кодирование:)
Ответ 3
Вы также можете перемещать свой вид с гладкой анимацией, подобной этой
- (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[view setFrame:CGRectMake(xPosition, view.frame.origin.y,view.frame.size.width, view.frame.size.height)];
[UIView commitAnimations];
}
и назовите его следующим образом
[self moveViewPosition:120.0f forView:yourView];
для более того вы также можете изменить его, чтобы передать требуемую продолжительность вызова функции следующим образом.
- (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view withDuration:(float)duration;
есть другие варианты, например
UIView* view = [self.view viewWithTag:99999];
[UIView animateWithDuration:0.9
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^
{
CGRect frame = view.frame;
frame.origin.y = 68;
frame.origin.x = 0;
view.frame = frame;
}
completion:^(BOOL finished)
{
NSLog(@"Completed");
}];