iphone - 旋转父 View 后计算 CGAffineTransform 矩阵

标签 iphone ios uiview rotation cgaffinetransform

这个很棘手!

我有 View A 和 View B,它是 View A 的 subview 。这两个 View 的框架是不变的。

我通过改变变换矩阵来旋转 View A:

viewA.transform = CGAffineTransformMakeRotation(angle);

现在我想调整 View B 的变换矩阵,以便视觉位置和旋转保持不变,即 B 在改变 A 的旋转角度时不能移动/旋转。

显然,我需要以相反的方向旋转 View B,但这还不够。

我试过了,但 B 仍然摇摆不定:

viewB.transform = CGAffineTransformTranslate(CGAffineTransformMakeRotation(-angle), viewA.bounds.size.width, viewA.bounds.size.height);

也许正确的矩阵还取决于 viewB 的框架......也许我需要使用正弦和余弦......?

我知道,我可以简单地将 B 设为 A 的兄弟 View ,但我不想这样做。

最佳答案

你好,试试这个,请告诉我

viewB.transform=CGAffineTransformInvert(viewA.transform)

关于iphone - 旋转父 View 后计算 CGAffineTransform 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501273/

相关文章:

iphone - 如何使用供应配置文件ios获取IPA文件

ios - 使用多个 Alamofire 链接请求填充 tableview

ios - 仅为 UIImageView 的一部分设置 alpha 值

iOS 从 UIView 切换到 UIViewController

iphone - 卡在CLLocation

iphone - 简单 iOS 应用程序的基于 Web 的后端?

iphone - 在 iphone 中为固定长度的数据样本创建频谱图

ios - 如何在 UIAlertController 中显示图像

iOS UIView 动画 CATransform3DMakeRotation 困惑

iphone - 如何让处理程序重复 UIView animateWithDuration?