我使用平移手势在CALayer中移动图像。我遇到的问题是图像似乎有一点延迟移动,并且不会出现“卡住”我的手指。
以下是我移动图层的实际摘录(facePic是CALayer):
CGPoint translation =[touche locationInView:self.view];
self.facePic.frame =
CGRectMake(translation.x - self.facePic.frame.size.width/2,
translation.y - self.facePic.frame.size.height/2,
self.facePic.frame.size.width,
self.facePic.frame.size.height);
答案 0 :(得分:9)
我认为您会看到图层的隐式动画的结果。如果是这样,则有两个选项可禁用此动画:
使用事务用CATransaction包装代码
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
. . .
[CATransaction commit];
要禁用某些图层操作,您可以将其添加到图层init,即位置动画,例如:
aLayer.actions = @{@"position":[NSNull null]}; // FIXED property name