我创建了一个UIView和一些图层。我已经将这些图层组织到超视图 - 子视图层次结构中,其中包含UIView图层中的根,添加了一些手势识别器,并且我试图从手势识别器(设置边界和位置确定)处理层的几何图形。我使用隐式动画和CATransactions。没有使用明确的动画。CoreAnimation抖动
如果我创建持续时间为0的CATransaction,实际结果已经足够了。但是,如果将持续时间设置为0.2,我会得到一些奇怪的结果:由于事件发生得不是很快,并且以前的事务有时间需要在下次启动之前完成一切都正常(例如点击),但如果没有足够的时间(例如在捏或平底锅上),被调整大小的图层开始打乱。在视觉上,它看起来像动画回滚到初始点,并重新开始新的值。
我看不出有任何理由。我试图在-[UIView layoutSubviews]
中执行布局,并在手势识别器处理程序中调用setNeedsDisplay
。我也试图将这个逻辑分解成单独的方法,但它没有帮助。
我再说一遍,我只使用隐式动画。而我想知道的是为什么会发生(但不是如何解决)。
任何线索?
我觉得这个问题的措辞非常糟糕.. – 2012-03-07 23:51:40