我想将尺寸为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帧的方法持开放态度。
任何建议都表示赞赏。