我在 CALayers 上遇到了一些麻烦。我创建了一个添加到 UIImageView 的层。我希望该层在屏幕中与另一个视图具有相同的位置,就好像它是它的副本一样。但是随着图层被添加到 UIImageView 中,它在 NSLog 中的坐标与“复制”视图相同,但是图层位置永远不会相同,每次我尝试都会看到不同的东西。我应该遗漏一些东西。
CALayer*layer=[CALayer layer];
layer.bounds =copiedImageView.bounds;
layer.contents=copiedImageView.layer.contents;
CGPoint theCenter=[targetImageView convertPoint:copiedImageView.center fromView:self.view];
[layer setPosition:theCenter];
[targetImageView.layer addSublayer:layer];
copiedImageView.layer.hidden=YES;
如果我明确设置 layer.position 它似乎可以工作(例如(0,0),图层中心始终位于 targetImageView 的左上角),这是合乎逻辑的。
很感谢任何形式的帮助!