修改 iPhone 以仅强制横向方向 [重复]

Posted

技术标签:

【中文标题】修改 iPhone 以仅强制横向方向 [重复]【英文标题】:Modify iPhone to Force Landscape Orientation Only [duplicate] 【发布时间】:2012-07-12 03:38:26 【问题描述】:

可能重复:Landscape Mode ONLY for iPhone or iPad

我正在开展一个项目,将旧 iPhone 重新用作汽车的媒体中心。我的特别需要是获得某种教程或通过专门指定修改默认 ios 屏幕方向所需的步骤。

很多人使用 Cydia 中的横向旋转锁定来禁用横向模式,我的目标正好相反。

我想禁用纵向模式,因为最终结果会看到 iPhone 水平安装在我的车上,因此只需要横向模式。

如何做到这一点?

【问题讨论】:

同,***.com/questions/5777313/… 您可以轻松地将您的应用“硬连线”到仅横向。但我猜没有办法强制手机显示所有风景。 【参考方案1】:

试试这个

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));

【讨论】:

呃,他可能只想要其中一个方向,否则图像可能会上下颠倒。 @HotLicks 然后他可以从 return 语句中删除 Or 部分。 感谢您的意见。如果您检查此链接***.com/questions/3176577/…,则代码似乎已经存在。我是 xcode 处女,所以我不知道从哪里开始或如何到达我修改此代码的地步。【参考方案2】:

使用 Supported interface orientationsLandscape (left home button) 并在 info.plist 文件中设置其值。这将以该方向启动您的应用,您需要设置

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);

在每个 viewController 中。

希望这是您正在寻找的。如果您还需要什么,请告诉我。

更新

嗨@DanSolo,我认为你的应用程序是在 XCode 中创建的,对吧?如果是这样,则转到您的任何视图控制器并检查shouldAutorotateToInterfaceOrientation 方法。旋转设备时将调用此方法。如果您将返回 Yes ,它将不会旋转。在您的情况下,您将返回

return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);

这只会在您的横向左侧模式下返回“是”。如果你想要左右横向使用

return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
        (interfaceOrientation == UIInterfaceOrientationLandscapeRight);

此代码将进入您的每个 viewController 的 shouldAutorotateToInterfaceOrientation 方法中。

希望对你有帮助:)

【讨论】:

我没有应用程序。我指的是修改设备本身的UI。

以上是关于修改 iPhone 以仅强制横向方向 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

xCode:iPad 的强制方向

iphone - 强制 MPMoviePlayerController 以横向模式播放视频

IOS 6强制设备方向为横向

为 iPad 而不是 iPhone 设置横向方向

强制 UISplitViewController 始终以横向显示主视图(仅)(在 iPhone 6 Plus 上)

在 Objective-C 中的 iOS 6 上强制横向方向