我有一个UIScrollView(self.zoomScrollView),其中包含另一个UIView(self.pageView)。我正在使用
为zoomScale和contentOffset设置动画CGPoint p1 = [tap locationInView:self.pageView];
CGPoint p2 = CGPointMake(p1.x * 3, p1.y * 3);
CGPoint d = CGPointMake(p2.x - p1.x, p2.y - p1.y);
[UIView animateWithDuration:0.2
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
[self zoomScrollView].zoomScale = 3;
[self.zoomScrollView setContentOffset:d animated:NO];
}
completion:^(BOOL finished) {
}];
第一次运行此动画时,contentOffset立即设置为其最终值,然后缩放zoomScale以满足它。之后每隔一段时间这个动画就完美无缺。关于为什么它第一次没有工作的任何想法?
答案 0 :(得分:0)
zoomScale
和contentOffset
属性不可动画,因此在UView
动画块中更改它们不起作用。要为contentOffset
设置动画,只需将YES
传递给setContentOffset:animated:
,而无需使用动画块。同样适用于zoomScale
(查看文档)。