如图,黑色框想要移动到红色框的位置,可以先让黑色框平移到绿色框的位置,再选择:
,所以首先算出黑色框和绿色框之间原点x轴和y轴的距离,baseView是要位移的视图:
CGFloat dx = _baseView.frame.size.height / 2 - _baseView.frame.size.width / 2;
CGFloat dy = _baseView.frame.size.height / 2 + _baseView.frame.size.width / 2;
平移,旋转:
//平移
CGAffineTransform transform = CGAffineTransformMakeTranslation(-dx, -dy);
//旋转
_baseView.transform = CGAffineTransformRotate(transform, M_PI_2);