//在初始化里注册窗口改变通知,设备窗口改变会发送此通知
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(change:) name:UIDeviceOrientationDidChangeNotification object:nil];
}
returnself;
}
-(void) change:(NSNotification*)nt
{
CGFloat width = [[UIScreen mainScreen]bounds].size.width * [[UIScreen mainScreen]scale];
CGFloat height = [[UIScreen mainScreen]bounds].size.height * [[UIScreen mainScreen]scale]; //乘以缩放系数
UIDeviceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
switch (orientation) {
case UIDeviceOrientationPortrait:
case UIDeviceOrientationPortraitUpsideDown:
self.view.frame = CGRectMake(0, 0, width, height);
break;
case UIDeviceOrientationLandscapeLeft:
case UIDeviceOrientationLandscapeRight:
self.view.frame = CGRectMake(0, 0, height, width);
break;
default:
break;
}