本当に何週間もこれのために立ち往生しています。私はECSlidingViewControllerを使用していますが、1つのビューを横向きと縦向きに回転できるようにしたいのですが、それは風景写真であり、利用可能なスペースを利用する必要がありますが、アプリの残りの部分は回転させたくありません、ただ風景にとどまります。
この手法を使用してビューに切り替えるため、自動ローテーションメソッドは呼び出されないと確信しています...
- (void)setTopViewController:(UIViewController *)theTopViewController
{
CGRect topViewFrame = _topViewController ? _topViewController.view.frame : self.view.bounds;
[self removeTopViewSnapshot];
[_topViewController.view removeFromSuperview];
[_topViewController willMoveToParentViewController:_topViewController];
[_topViewController removeFromParentViewController];
_topViewController = theTopViewController;
[self addChildViewController:self.topViewController];
[self.topViewController didMoveToParentViewController:self];
[_topViewController.view setAutoresizingMask:self.autoResizeToFillScreen];
[_topViewController.view setFrame:topViewFrame];
_topViewController.view.layer.shadowOffset = CGSizeZero;
_topViewController.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;
[self.view addSubview:_topViewController.view];
}
そして私のinitialviewcontrollerで...
self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"Home"];
したがって、このビューに切り替えるのではなく、単に上にスタックしているだけです。したがって、常に初期ビューコントローラの回転方法をリッスンしています...
私が何日も立ち往生していると言ったので、助けは大歓迎です...