【问题标题】:Forcing the portrait orientation for my View强制我的视图纵向
【发布时间】:2012-10-17 07:11:59
【问题描述】:

我正在从事基于 ARC 的项目。我的项目是针对 iOS 4.3 我想强制

纵向朝向我的观点之一。以下似乎对我不起作用。

[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

有什么帮助吗?

【问题讨论】:

  • 您想将方向设置为仅一个视图.. 让其他视图由用户选择..?
  • 是的。我也想这样做。

标签: objective-c xcode uiinterfaceorientation device-orientation uideviceorientation


【解决方案1】:

首先,需要支持方向的 viewController 必须实现以下方法,传递支持的方向。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

以后手动旋转视图直接使用设置设备方向

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];

如果这不起作用,请使用

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES];

请记住,如果您在 shouldAutoRotate 中为设置方向返回 NO,这可能不起作用。还要在 ios5 和 ios6 中检查这个,我在 ios5 中尝试过。

编辑:对于不存在 setOrientation 的 iOS5 或 iOS6

[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

这工作正常,但现在这可能是一个私有 api。

【讨论】:

  • iOS 都没有工作。?你有没有试过两种方法..?还有一件事是 viewController 是呈现出来的,还是被推送到导航堆栈上的。?
  • 视图控制器被推送到导航栈
  • 导航栈的rootViewController是否支持u r的方向设置?
  • 检查我的编辑,你的 orient 方法是对的.. 你在哪里调用那个方法..?在viewDidLoadviewWillAppear?
  • 我在 ViewDidLoad 中调用它,该方法本身现在对我抛出错误
猜你喜欢
  • 2020-05-07
  • 2013-01-15
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多