如何将CGRect从纵向转换为横向?

时间:2014-01-05 23:08:32

标签: ios iphone rotation cgrect

我想将尺寸为320 x 480(纵向)的CGRect帧转换为尺寸为640 x 480(左侧的横向)的视图。我应该注意到我正在测试iPhone 4S。但是,我需要为具有更高屏幕的iPhone 5找到足够通用的方法。

以下是一些进行轮换的代码:

CGFloat radians = -90 * (M_PI/180);
CGAffineTransform rotation = CGAffineTransformMakeRotation(radians);
CGRect rotatedRect = CGRectApplyAffineTransform(rect, rotation);

// Needs offset?
rotatedRect.origin.y += self.aView.frame.size.height;
// rotatedRect.origin.x += self.aView.frame.size.width;

我可能还需要翻译和缩放:

CGAffineTransform translate = CGAffineTransformMakeTranslation(rect.size.height, 0.0);
CGAffineTransform scale = CGAffineTransformMakeScale(1.0, 1.0); // what values to use?
CGAffineTransform centeredRotation = CGAffineTransformConcat(translate, scale);

我对任何其他转换CGRect帧的方法持开放态度。

任何建议都表示赞赏。

0 个答案:

没有答案