旋转内部矩形,使其反映容器rect的旋转

时间:2013-12-05 16:20:59

标签: ios objective-c rotation affinetransform

我有一个容器视图(蓝色框)和一个子视图(绿色框)。 我喜欢旋转绿色框,以便它反映旋转和容器盒。

我用

旋转蓝框
CGAffineTransform at;
at = CGAffineTransformMakeRotation(M_PI * 90 / 180.0);
view.frame = CGRectApplyAffineTransform(view.frame, at);
at = CGAffineTransformMakeTranslation(-view.frame.origin.x, -view.frame.origin.y);
view.frame = CGRectApplyAffineTransform(view.frame, at);

什么按预期工作。

现在,如果我对绿色框执行相同操作,则其原点为0,0,这不是我想要的。那么我如何计算绿箱的正确来源? (我尝试了一些事情,例如在我旋转之前设置绿色框的中心,但后来意识到我真的很喜欢用矩阵进行数学运算..)

enter image description here

帧:

绿色框:{100,100},{200,100}

蓝框:{0,0} {500,300}


enter image description here

框架:

绿色框:{100,200} {100,200}

蓝框:{0,0} {300,500}

0 个答案:

没有答案