UIView 页面卷曲动画不适用于块
UIView page curl animations isn't working with blocks
我正在尝试将工作的 UIView 动画转换为使用块。除了完成回调之外,我看不出它们有什么不同。有人可以澄清我可能遗漏的东西吗?
这按预期工作
[UIView beginAnimations:@"Curl" context:nil];
[UIView setAnimationDuration:.15];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.storyTextView cache:YES];
self.storyTextView.text = text;
[UIView commitAnimations];
这确实改变了页面的文本,但没有显示动画,只是一个即时过渡。
UIViewAnimationOptions curl = UIViewAnimationOptionTransitionCurlUp;
[UIView animateWithDuration:.15 delay:0 options:(UIViewAnimationOptionCurveEaseInOut | curl) animations:^{
self.storyTextView.text = text;
} completion:^(BOOL finished) {
if (finished){
// pass
}
}];
此外,在块样式动画中设置delay
不会影响即时转换,它只是在延迟后运行完成块。
您需要尝试 UIView
的 transitionWithView
:
UIViewAnimationOptions curl = UIViewAnimationOptionTransitionCurlUp;
[UIView transitionWithView:self.view duration:0.15 options:(UIViewAnimationOptionCurveEaseInOut | curl) animations:^{
self.storyTextView.text = text;
} completion:nil];
我正在尝试将工作的 UIView 动画转换为使用块。除了完成回调之外,我看不出它们有什么不同。有人可以澄清我可能遗漏的东西吗?
这按预期工作
[UIView beginAnimations:@"Curl" context:nil];
[UIView setAnimationDuration:.15];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.storyTextView cache:YES];
self.storyTextView.text = text;
[UIView commitAnimations];
这确实改变了页面的文本,但没有显示动画,只是一个即时过渡。
UIViewAnimationOptions curl = UIViewAnimationOptionTransitionCurlUp;
[UIView animateWithDuration:.15 delay:0 options:(UIViewAnimationOptionCurveEaseInOut | curl) animations:^{
self.storyTextView.text = text;
} completion:^(BOOL finished) {
if (finished){
// pass
}
}];
此外,在块样式动画中设置delay
不会影响即时转换,它只是在延迟后运行完成块。
您需要尝试 UIView
的 transitionWithView
:
UIViewAnimationOptions curl = UIViewAnimationOptionTransitionCurlUp;
[UIView transitionWithView:self.view duration:0.15 options:(UIViewAnimationOptionCurveEaseInOut | curl) animations:^{
self.storyTextView.text = text;
} completion:nil];