UIViewController 不响应旋转功能
Posted
技术标签:
【中文标题】UIViewController 不响应旋转功能【英文标题】:UIViewController does not respond to rotation function 【发布时间】:2016-03-14 11:13:18 【问题描述】:我在导航控制器中嵌入了一个视图控制器,
在我的视图控制器中,我已经定义了函数,
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
我也在函数内部这样做,
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
但是当我在我的设备上运行它时,呼叫永远不会到达这里?我在这里做错了什么?
【问题讨论】:
NavigationController 适当地接收到该调用 但是我已经使用故事板将它嵌入到默认导航控制器中。 你到底想做什么?设备旋转时执行自己的代码? 【参考方案1】:如果调用从未到达函数,请检查此方法supportedInterfaceOrientations
。
可能其他界面方向被屏蔽了。
【讨论】:
我应该在我的视图控制器中检查这个,但我的视图控制器默认嵌入在导航控制器中 在导航控制器或appDelegate中检查该功能 我继承了UINavigationController类并将supportedInterfaceOrientations设置为UIOrientationMaskAll,调用仍然没有到达! 好的。旋转设备时屏幕会旋转吗? 是的,屏幕会旋转【参考方案2】:如果你想旋转视图,你也可以使用这个方法来做到这一点
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
return YES;
【讨论】:
以上是关于UIViewController 不响应旋转功能的主要内容,如果未能解决你的问题,请参考以下文章
根 ViewController 内的 UIViewController 不旋转
UIViewController 遏制 - 新孩子不知道旋转