Я установил ориентацию в ландшафт, оставшийся в RootViewController, но в viewDidLoad или viewWillAppear границы представления VC не вращаются. В viewDidAppear он имеет правильный фрейм. Я не думаю, что это хорошее место в viewDidAppear, как мне это сделать?Где я должен установить рамку subview в ViewController
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect frame = self.view.bounds;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CGRect frame = self.view.bounds;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
CGRect frame = self.view.bounds;
}
#pragma mark - Orientation
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft;
}
//for iOS 6 or later
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeLeft;
}
@end
И журнал показывает, что:
viewDidLoad,x = 0.000000, y = 0.000000,w = 300.000000 h = 480.000000
viewWillAppear:,x = 0.000000, y = 0.000000,w = 300.000000 h = 480.000000
viewDidAppear:,x = 0.000000, y = 0.000000,w = 480.000000 h = 300.000000
Я попробовал, он не называл этот метод .. – DJean