Я работаю на шатровым текста в ИО с использованием анимации, как показано ниже:UIView анимация добавляет ускорение во время анимации
Первый способ:
-(void)startScrolling {
CGRect rect ;
rect = self.titleView.frame;
rect.origin.x = -self.titleView.frame.size.width;
self.titleView.frame = rect;
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:13];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(startScrolling)];
// Update end position
CGRect rect ;
rect = self.titleView.frame;
rect.origin.x = [[UIScreen mainScreen] bounds].size.width;
self.titleView.frame = rect;
[UIView commitAnimations];
}
Второй путь:
[UIView animateWithDuration:13
delay:0
options:UIViewAnimationOptionCurveLinear
animations:^{
CGRect rect ;
rect = self.titleView.frame;
rect.origin.x = -self.titleView.frame.size.width;
self.titleView.frame = rect;
}
completion:^(BOOL finished) {
CGRect rect ;
rect = self.titleView.frame;
rect.origin.x = [[UIScreen mainScreen] bounds].size.width;
self.titleView.frame = rect;
[self startScrolling];
}
];
первый способ работает правильно. и проблема во втором случае заключается в том, что при анимации добавляется ускорение. Не получайте это
Почему ускорение добавляется при использовании блока. Поиск через Интернет, но я все еще застрял. Есть идеи по этому вопросу?
Я испортил коды. Спасибо, что указали это – tranvutuan