这个很棘手!
我有视图 A 和视图 B,它是视图 A 的子视图。两个视图的框架都是不变的。
我通过更改变换矩阵来旋转视图 A:
viewA.transform = CGAffineTransformMakeRotation(angle);
现在我想调整视图 B 的变换矩阵,使视觉位置和旋转保持不变,即 B 在改变 A 的旋转角度时不能移动/旋转。
显然我需要向相反的方向旋转视图 B,但这还不够。
我试过了,但 B 仍然摇摆不定:
viewB.transform = CGAffineTransformTranslate(CGAffineTransformMakeRotation(-angle), viewA.bounds.size.width, viewA.bounds.size.height);
也许正确的矩阵也取决于 viewB 的框架......也许我需要使用正弦和余弦......?
我知道,我可以简单地使 B 成为 A 的兄弟视图,但我不想这样做。