//在初始化里注册窗口改变通知,设备窗口改变会发送此通知
- (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;
}