问题标签 [uiinterfaceorientation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
14348 浏览

ios - UINavigationController 中仅支持一个视图的横向

我有一个导航控制器,它有几个视图控制器。我需要支持所有视图控制器的所有方向,除了一个只支持横向的特殊视图控制器。这个特殊的视图控制器出现在导航堆栈的中间。我做了很多研究,但找不到任何好的解决方案。以下是我已阅读并尝试过的链接。

http://www.iphonedevsdk.com/forum/iphone-sdk-development/3219-force-landscape-mode-one-view.html#post60435

如何将屏幕旋转为横向?

如何从纵向模式自动旋转到横向模式? iPhone - 仅在一个视图控制器上允许横向方向 http://goodliffe.blogspot.com/2009/12/iphone-forcing-uiview-to-reorientate.html

接下来我将尝试替换导航控制器presentModalViewController以显示特殊的视图控制器。然后我将在特殊的视图控制器内部创建一个新的导航视图控制器来推送后续的视图控制器。

如果有人有更好的想法,请告诉我。非常感谢!

更新:我已经成功使用了我上面描述的方法:替换pushViewControllerpresentModalViewController创建一个新的导航控制器。

0 投票
1 回答
372 浏览

ios4 - UISplitView 方向问题

我使用包含 1 个 splitViewController 和一个标准 viewController 的 TabBarController。一切正常,除非我旋转设备。

在 SplitViewController 上,当我将设备从纵向旋转到横向以及从横向旋转到纵向时,一切正常。当我移动到包含 viewController 的 tabBar 时,当我向任何方向旋转设备时,一切正常。

但是,如果 splitView 控制器的最后一个方向是横向并且从 ViewController 我将设备旋转到纵向,当我返回到 SplitView 选项卡时,我丢失了弹出按钮。如果我旋转设备,一切都会很好地显示。

有什么帮助吗?

0 投票
1 回答
222 浏览

iphone - uitabbarcontroller 'moreviewcontroller' 方向

我以前可以在每个方向上旋转我的 tabbarcontroller 应用程序 - 但是 - 因为我现在已经超过了固定 tabbaritems 的设定数量,所以 tabbarcontroller 自动添加了'moreviewcontroller',现在应用程序不会改变它的方向(我想更多的视图控制器有未设置“shouldAutorotateToInterfaceOrientation”返回值。

如果可能的话,我可以在哪里设置它以允许设备方向。

还是不支持?

提前致谢。

0 投票
2 回答
2469 浏览

objective-c - 自动旋转标签栏应用程序

嘿伙计们,我正在尝试自动旋转我的标签栏应用程序。显然,我知道大多数人会说这个问题是return YES;或者所有标签栏项目必须在同一个类中才能自动旋转。不,它对我不起作用。所以首先,我有 4 个标签栏项目,每个项目都有自己的类。我的前 2 个标签栏项目有 UIWebViews,第二个是表格视图,最后一个是带有按钮的图像视图。现在我练习为我的第一个选项卡栏项实现自动旋转代码,这是一个使用此代码的 UIWebView,因为return YES;对我不起作用:

在没有标签栏的情况下使用此代码对我有用,但是在将其与标签栏应用程序一起使用时,它对我不起作用。此外,当程序员对我说所有其他 Tab Bar 应用程序必须具有相同的 Class 文件时,我不能这样做,因为我的每个 Tab Bar 都有自己的 Class 文件,正如我之前所说的。

所以希望有人可以帮助我解决这种情况,以便自动旋转整个标签栏,谢谢

0 投票
2 回答
501 浏览

iphone - 将我的项目从纵向转换为横向的问题

我已经以纵向方向开发了我的项目,现在我想将我的项目方向设置为横向。我已将所有 xib 文件的方向属性设置为横向,在 .plist 中我还将支持的界面方向的所有项目设置为横向,但是当我运行我的项目时,一个视图仍然是纵向的......在这个视图中我正在展示pdf文件。

提前致谢 !!!

0 投票
1 回答
1337 浏览

ipad - 状态栏方向问题

我的 iPad 应用程序的应用程序状态栏出现此问题。

我正在使用 UINavigationController。根视图控制器通过在 shouAutoRotate 方法中返回 YES 来允许所有旋转。当涉及到纵向或横向时,这个根视图控制器有两种不同的外观,我已经设法在不使用 nib 文件的情况下以编程方式对其进行修改。

问题是当我以横向启动我的应用程序时,有时状态栏会是纵向的。这将导致视图顶部出现白条,或者在 iPad 处于横向模式时强制 VC 加载纵向视图。

我验证了我的 plist 文件,它已正确设置为所需的方向

发生的另一件事是,当我在横向模式下推动视图控制器时,它不显示状态栏,它会正确消失。但是当导航控制器弹出该vc时,状态栏将返回纵向甚至纵向倒置。

这是一个错误还是我做错了什么?我可以放很多代码,但我不想让这个问题不可读。随意询问您需要的代码的任何部分。

提前致谢!

0 投票
2 回答
470 浏览

iphone - InterfaceBuilder 走向景观

我在界面生成器中有一个 XIB,它处于纵向模式,上面有 5 个 UILabel,它们在视图中均匀分布。当 iPhone 向右或向左旋转时,我希望标签在视图中均匀分布,以充分利用额外的屏幕宽度。

使用 Interface Builder 的 Size&Position 位,我可以很容易地用一个控件做到这一点,但我如何设置其他控件来做到这一点?

这是您必须以编程方式执行的操作吗?

谢谢

麦克风 在此处输入图像描述

0 投票
1 回答
515 浏览

iphone - 在 removeFromSuperview 和 addSubview 之后界面方向保持不变

我正在使用视图动画在视图之间切换,它的工作原理,但我遇到了界面方向的问题。

我在窗口上有两个视图。

  1. authenticationViewCont
  2. mainViewCont

两者都有一个按钮,当单击按钮时,authenticationViewCont我将其删除并显示mainViewCont,反之亦然。

一旦我 addSubviewauthenticationViewCont.view并将设备置于纵向模式然后将其删除,removeFromSuperview然后我将设备方向更改为横向,然后再次 addSubview authenticationViewCont。它首先以纵向显示动画并在动画后改变方向。

如何让它以当前界面方向显示,而不是它所在的旧界面方向removeFromSuperview

0 投票
3 回答
4192 浏览

uiviewcontroller - UIViewController 界面方向问题

我像往常一样有一个 UIViewController 的子类。当我加载应用程序时,我需要调整一些我必须以编程方式放入的元素的大小。当然,大小取决于界面方向:所以,我做了:

但无论模拟器/设备的方向如何,在 viewDidLoad/WillAppear 中的情况始终是 Portrait,即使一切都正确旋转。在 Plist 中,我添加了所有支持的方向。提示?

0 投票
1 回答
2153 浏览

ipad - iPad landscape orientation height/width issue

I have an iPad app that's only supposed to run in UIInterfaceOrientationLandscapeLeft. I have set this in my plist, but all UIViewControllers are still allocated with a portrait frame, until they have finished launching. So any subviews I set in -init based on my view controllers' frames are wrong.

I have output self.view.frame and it's 0, 0, 768, 1024 while it should be 0, 0, 1024, 768 I also set my view controllers only to return landscape left: