У меня есть простая структура для IPAD с AppDelegate, которая включает представление из viewController:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
ClockVC *clockVC = [[ClockVC alloc]init];
clockVC.view.frame = CGRectMake(100, 100, clockVC.view.bounds.size.width, clockVC.view.bounds.size.height);
[self.window addSubview:clockVC.view];
[self.window makeKeyAndVisible];
return YES;
}
У clockVC есть viewDidLoad, определенный этим кодом:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.autoresizingMask = UIViewAutoresizingNone;
self.view.autoresizesSubviews = UIViewAutoresizingNone;
}
ГраницыclockVC определяются IB и переопределением в приложении: didFinishLaunching ... Ширина и высота соответственно составляют 200 и 150.
ClockVC реализует метод одностадийного автоматического вращения: /
/ Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[UIView animateWithDuration:0.5
animations:^{self.view.alpha = 0;}
];
}
-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
[UIView animateWithDuration:1
animations:^{self.view.alpha = 1;}
];
}
При первой загрузке страница корректно просматривается и вид clockVC находится в положении.Когда я поворачиваю представление ClockVC (для которого autoResizeMask установлено значение UIViewAutoresizingNon), меняем размер, чтобы занять весь экран.
Почему ??Я хотел бы сохранить начальный размер.
Вот скриншоты моей проблемы.До вращения:
После вращения: