Thursday, November 11, 2010

iPhone: Rotate a sub view to landscape layout

After trying some other hacks, I came up with this little bit of code to rotate my full-screen UIView to landscape mode, which let me lay out all the sub views in a standard coordinate system. 
#define DEGREES_TO_RADIANS(__ANGLE__) ((__ANGLE__) / 180.0 * M_PI)

- (id)initWithFrame:(CGRect)frame {
 if (self = [super initWithFrame:frame]) {
  // Initialization code
  self.backgroundColor = [UIColor clearColor];
  [self setViewToLandscape:self];
 }
 return self;
}

-(void)setViewToLandscape:(UIView*)viewObject {
 [viewObject setCenter:CGPointMake(160, 240)];
 CGAffineTransform cgCTM = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-90));
 viewObject.transform = cgCTM;
 viewObject.bounds = CGRectMake(0, 0, 480, 320);
}

No comments:

Post a Comment

Followers