我有两个视图控制器,A 和 B。A 仅支持纵向,而 B 可以支持横向。我正在使用包含 API 显示 B。
[self addChildViewController:child];
[self.view addSubview:child.view];
child.view.frame = self.view.bounds;
[child didMoveToParentViewController:self];
我已经实施
- (BOOL)shouldAutorotate
{
UIViewController *current = _presentingChild ? _child : self;
return [current shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations
{
UIViewController *current = _presentingChild ? _child : self;
return [current supportedInterfaceOrientations];
}
一切都像魅力一样。如果设备在呈现 A 时是横向的,而我呈现 B 时,旋转会立即转动。
当我解雇 B 时问题就来了。如果设备是横向的,A 会显示为横向(这不应该发生)。
你有建议如何面对这个问题吗?我知道我可以使用模态控制器,这将解决问题。但我不想在这种特定情况下使用模态 vc。