我正在尝试围绕不同的锚点旋转 UIView。当我第一次创建 UIView 时,我将锚点设置为 (0.0, 0.5)。我使用 CGAffineTransformMakeRotation 旋转视图。当我单击 UIView 的另一侧时,我想将锚点设置为 (1.0, 0.5)。这会移动 UIView 以将锚点设置为中心点。我读到其他答案,我应该这样做:“将边界的宽度和高度乘以新旧锚点的标准化值,取两个锚点的差,并将该差应用于图层的位置”
我试过了,但我无法将 UIView 设置为完全相同的位置。使用此代码:
self.transform = CGAffineTransformTranslate(self.transform, self.bounds.size.width, 0);
将其设置为完全相同的位置,但是。当我再次旋转(它应该围绕新的锚点旋转)时,它会翻转 UIView 或发生一些奇怪的事情。