问题标签 [orientation]

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 投票
1 回答
1295 浏览

iphone - 当 iPhone 移至横向时,限制滚动视图中的图像拉伸

我将 imageViews 作为 UIScrollView 中的内容。如果用户正在查看肖像图片 (320x480) 并将 iPhone 横向移动 - 图像会拉伸以占据全屏。我想限制图像拉伸。我想要一个类似于照片应用程序的功能,其中图像被缩小并在左右显示黑条。

任何人对我如何实现这一点有任何建议 - 将是一个很大的帮助!

0 投票
13 回答
270068 浏览

orientation - How do I lock the orientation to portrait mode in a iPhone Web Application?

I'm building a iPhone Web Application and want to lock the orientation to portrait mode. is this possible? Are there any web-kit extensions to do this?

Please note this is an application written in HTML and JavaScript for Mobile Safari, it is NOT a native application written in Objective-C.

0 投票
2 回答
2159 浏览

iphone - UIImagePicker 的 presentModalViewController 在 iPhone 3.0 的横向模式下失败

首先,我的代码并不复杂——实际上它只是“iPhone 开发入门:探索 iPhone SDK”中的两个示例程序,合并为一个程序。我使用了在蓝色视图和黄色视图之间切换的 ViewSwitcher 应用程序,并将 YellowViewController 替换为相机应用程序中的 CameraViewController。

我总共有三个 ViewController。SwitchViewController 只是在 BlueViewController 和 CameraViewController 之间切换。

在 CameraViewController 内部,我正在尝试使用 UIImagePickerController 来选择图像。选择器显示为 presentModalViewController。问题是我想在横向上执行此操作。

在 2.2.1 下一切正常,在 3.0 纵向模式下一切正常。

然而,在横向的 3.0 中,事情就中断了。如果我将 SwitchViewController 设置为横向,当我尝试呈现选择器时我的屏幕会变白。如果我旋转 iPhone 几次,我可以看到选择器的一角,这显然是在屏幕外显示的。

如果我将 CameraViewController 设置为横向,则选择器根本不会出现。

我认为这个页面可能有一个线索,当它说“我能看到的 [3.0] 中最显着的变化是模态视图控制器将始终使用应用程序框架而不是父视图控制器的框架。” 不过,我不明白这到底是什么意思。

任何帮助是极大的赞赏。谢谢!

0 投票
2 回答
3708 浏览

iphone - iPhone dev - 手动旋转视图

如何使用 autoresizingMasks 手动旋转视图,就好像用户旋转了手机并且它已经自动旋转了一样。我也希望它是即时的,没有动画。我你想知道我为什么需要这个,看看我在iPhone Dev 的另一个问题 - 保持界面旋转

谢谢!!

0 投票
3 回答
12042 浏览

iphone-sdk-3.0 - UITabBarController、MoreNavigationController 和设备旋转的圣杯

更新:先看看我对这个问题的回答。这似乎是一个错误。已经创建了一个最小的测试用例,并向 Apple 提交了一份报告。(自 iPhone OS 3.1 起已修复。)

这是来自“我是如此接近!”的谜题。部。

我有一个基于标签栏的 iPhone 应用程序。每个选项卡都有一个UINavigationController与通常的嫌疑人(导航栏,表格视图......这反过来又可以导致另一个 VC 等)。

现在,这些较低级别的 VC 之一将用于纵向横向模式。但是有一个问题。我们的景观友好型 VC 的shouldAutorotateToInterfaceOrientation:不会被直接调用!该怎么办?

这就是我们所做的。在我在自己的文件中实现的标签栏控制器中,我有这个:

这最终将请求传播到我的景观友好型 VC,它也响应此消息。我所有的其他 VC 都没有实现这个方法,所以他们只是使用默认的纵向。

问题解决了!!!耶!

嗯,不完全是。:(

当从标签栏控制器的MoreNavigationController的深处调用我的风景友好型 VC 时,事情似乎不太顺利。

我决定比较/对比从前四个选项卡栏UINavigationControllers之一调用的VC ... 和从MoreNavigationController调用的同一个 VC 。这将有点超详细,所以请耐心等待。希望逐场比赛证明对侦查事情很有用。

当应用程序加载时,有几个对标签栏控制器的 shouldAutorotate... 方法的初始调用。在这些早期情况下,selectedViewController为 nil。但是,我们最终加载完成,选择了初始选项卡项,一切正常。

对。首先,让我们选择前四个标签栏项目之一并深入到我们的 VC。

我们将选择第三个导航栏项目,这就是第三个导航控制器。我们深入了解支持轮换的 VC。快速检查确认父级确实是我们标签栏的视图控制器列表中的第三个导航控制器。好的!

让我们旋转设备。标签栏控制器被要求自动旋转(参见上面的代码)。我们观察到selectedViewController也是第三个导航控制器,加上导航控制器的顶部和可见视图控制器都设置为我们可信赖的支持旋转的 VC。

因此,标签栏控制器会将shouldAutorotate消息转发给第三个导航控制器……但我们的旋转友好型 VC 最终会收到该消息。(我在这里没有做任何特别的事情。也许所需的 VC 会收到消息,因为它是顶部和/或可见的 VC?)无论如何,我们旋转到横向,调整大小,一切都很好。“巨大的成功!”

现在让我们点击后退按钮并弹出 VC 堆栈,在此过程中保留横向模式。再次查询标签栏控制器。

是时候在这里稍作休息了。我们的导航控制器的topViewController仍然是旋转友好的 VC,但是visibleViewController现在设置为UISnapshotModalViewController!呵呵。以前从未见过这个……但Erica Sadun 有。看起来它是用于“消失的视图控制器”(在这种情况下肯定是真的 - 它消失了)。

当我继续前进时,可见的 VC 保持为快照,但顶部的 VC 最终会更改为堆栈中的下一个 VC,因为我的特殊 VC 最终消失了。很公平。

所以就是一切正常的场景。

现在让我们尝试相同的测试,只是这次我们将转到MoreNavigationController(更多选项卡栏项)并向下钻取到与之前相同的 VC 类。在我的例子中,它恰好是标签栏控制器的 VC 列表中的第 7 个。

我们进入旋转感知 VC 并且......这次它被要求直接旋转!根本不要求标签栏控制器获得旋转权限。唔。

快速检查父 VC 显示它是一个MoreNavigationController。好的,这是有道理的。

现在让我们尝试旋转设备。什么都没有被调用。我们的断点都没有被命中。不在我们的 VC 中。不在我们的标签栏控制器中。(咦?!?!)

好的。让我们弹出堆栈,回到同一个 VC 并再次尝试旋转。奇怪的。现在我们在标签栏控制器中接到一个请求自动旋转权限的电话。在这里,选择的控制器是我们信任的导航控制器(#7),但这次它的visibleViewControllertopViewController设置为NIL

一旦我们从这里继续,调试器控制台中会出现一条神秘消息:

使用两阶段旋转动画。要使用更平滑的单阶段动画,此应用程序必须删除两阶段方法实现。

神秘,因为我没有使用两阶段旋转动画!在我的源代码中的任何地方都没有SecondHalf方法变体。

唉,我的旋转感知 VC 从来没有被告知旋转正在发生(即使旋转确实发生在屏幕上),所以我的观点当然被弄乱了。混乱和悲伤随之而来。:(

在这一点上,我们甚至不会费心弹出堆栈。

我认为 View Controller 文档暗示了可能的问题:

如果您想在方向更改期间执行自定义动画,您可以通过以下两种方式之一进行。方向更改过去分两步发生,通知发生在旋转的开始点、中间点和结束点。但是,在 iPhone OS 3.0 中,添加了对一步执行方向更改的支持。使用一步方向更改往往比旧的两步过程更快,通常建议用于任何新代码。

我想知道MoreNavigationController是否仍在响应两步过程,因此是否会阻止任何使用一步过程的尝试?请注意,如果您回复两步消息,则一步变体将不起作用(同样,根据文档)。我没有回应他们,但我有一个偷偷摸摸的怀疑是幕后的东西。

事实上,如果我注释掉单步方法,并尝试响应willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:,我确实得到了备忘录!但它仍然不能非常干净地从堆栈中弹出(就视觉效果而言)。更奇怪的是:willAnimateFirstHalfOfRotationFromInterfaceOrientation:duration:没有被调用,即使我试图在 shouldAutorotateToInterfaceOrientation: 中偷偷调用 self (使用 FirstHalf 消息。它在跟踪期间立即返回,就好像我从未定义过它一样。叹。

所以这就是逐场比赛。

总而言之,有没有成功地处理了从标签栏控制器的 MoreNavigationController 中调用的 VC 的一步设备旋转?求知者想知道!

0 投票
1 回答
652 浏览

iphone - 需要更改方向,但仅适用于 TabBarViewController 中的几个视图之一

我的应用程序有一个带有五个选项卡的 UITabBarController。我只需要为第五个选项卡旋转方向。通过子类化 UITabBarController,我能够让所有五个旋转到横向

@结尾

……


我现在需要关闭 viewController1 - 4 的旋转;我尝试通过将以下代码添加到这些 viewController 的四个 *.m 文件来执行此操作,但未成功。

请告诉我如何完成 R。感谢阅读,马克

0 投票
3 回答
1982 浏览

vb6 - Microsoft Office Document Image Writer 无法在 VB6 中以编程方式设置为横向?

在我们的 VB6 应用程序中,当用户的默认打印机设置为Microsoft Office Document Image Writer时,以下代码行会导致应用程序抛出错误号 380(无效的属性值)。

如果您不熟悉这条线的作用,它负责确保用户的默认打印机设置为在横向模式下打印提供给它的任何内容,并且还提供横向尺寸(高度/宽度)(在打印机object) 所以下面的代码可以正确地基于页面上的项目放置坐标。

我已经环顾四周,它似乎是 MODIW 驱动程序中普遍接受(并抱怨)的“缺失功能”,例如看到这个线程。有一些变通方法,例如向用户显示 Windows 打印机设置窗口(可能指示他们在选项中选择横向)或检查打印机是否为 MODIW,然后阻止用户生成需要横向的文档模式。还有另一个建议涉及称为 DEVMODE 的东西,但我不明白这个建议,也没有找到一个像样的例子,也没有找到任何人确认它有效。

我有点不知所措。物理打印机对这条线没有问题;即使是 Microsoft XPS Document Writer 和我尝试过的各种 PDF 打印机,这条线也没有问题。我把它扔在这里,希望一些很棒的 VB6 开发人员找到了一些以前未记录的方法来使用 Microsoft Office Document Image Writer 驱动程序更改方向。

0 投票
2 回答
5461 浏览

c# - 窗体旋转

当您在 .Net 中创建表单时,它会在纵向布局中显示为对话框。

通常没有人喜欢横向或倒置阅读,但我有一个非常正当的理由来旋转表格。

任何人都知道如何使用 C# 在 Windows Vista 上做到这一点?

0 投票
1 回答
841 浏览

asp.net - 东亚文本的 ASP .NET 标签方向

有谁知道如何创建一个 90 度顺时针方向的 asp .net 标签控件

现在我这样做的方式是使用
这样的标签

有没有办法在一个标签中做到这一点?喜欢使用方向属性?

0 投票
1 回答
846 浏览

delphi - 如何在 Rave (Delphi 7) 中查找用户选择的页面方向

有没有办法找到用户选择的页面方向(poLandscape 或 poPortrait)预览设置?我试过这段代码:

但是即使我从设置中选择横向,此代码也会给出“纵向”。有人可以帮忙吗?