问题标签 [device-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 投票
4 回答
593 浏览

android - Android 任意方向 XML 布局

您好我正在尝试使我的布局与所有方向屏幕类型(横向/纵向)兼容。为此,我正在使用layout-landand layout-port

这适用于只有 2 个方向位置(横向和纵向)的设备,但如果我旋转支持 4 个方向位置(左/右、端口倒置/倒置)的设备,则无法正常工作。仅在默认陆地位置上工作,但如果我在另一个横向位置上旋转设备,android 会选择layout-port布局而不是layout-land.

如何在 XML 中解决这个问题?或者唯一的解决方案是管理自己的方向变化?

0 投票
0 回答
393 浏览

iphone - autoresizingMask 没有正确响应

我已经非常成功地在我的项目的所有视图中实现了自动调整掩码。但是在最后一个,即设置中,tableCells 中有很多滑块,似乎效果不太好。:

在此处输入图像描述

我确定我已经正确实施了

滑块和标签的灵活左边距。

当旋转发生时,我还实现了表重新加载。

单元格可以重复使用,或者至少在纵向模式下它们可以工作,但是当我旋转并返回时,我得到了你在图片中看到的内容。

关于我缺少什么的任何想法?

提前谢谢!

0 投票
1 回答
831 浏览

objective-c - iOS上方向更改时的非旋转背景图像

我正在开发一个 iphone 应用程序,它允许纵向和横向。但是,我在 UIImageView 中有一个背景图像,当方向改变时不应该旋转它。我四处搜索并尝试了一些选项,但没有找到令人满意的解决方案。我尝试在 willAnimateRotationToInterfaceOrientation: 中使用变换,但它会使图像在旋转期间移动,并且看起来不太好。我希望它保持静止。

任何帮助表示赞赏。

0 投票
1 回答
376 浏览

ios - 防止 UITableViewCell 的 textLabel 框架因设备旋转而改变

我有一个UITableViewController带有几个UITableViewCells 的简单子类。我在每个单元格上使用 imageView 和 textLabel 。

当我将设备旋转到纵向/横向时,textLabel 的框架会发生变化。这种变化适用于纵向到横向的旋转。但是,当从横向旋转回纵向时,框架会变为“不正确”的值(文本不恰当地对齐)。

我该如何解决这个问题?

imageViews 的帧发生变化时,我遇到了类似的问题。我通过子类UITableViewCell化并将框架设置为layoutSubviews. 这里CGRect我只需要记住一个值(我只是硬编码它)。

textLabel 不同:我需要跟踪两个框架(每个方向一个),我认为框架值将取决于 textLabel 的文本。因此,向我的子类添加两个CGRect实例变量UITableViewCell是一种选择。但是我想有一个更简单的解决方案。

0 投票
2 回答
8331 浏览

iphone - UITableViewCell autoresizingmask issue

I have 3 UI elements in the contentView of the UITableViewCell that need to be aligned properly when the device rotates. Currently, I enforce the frames of these UI Elements like this:

I would like to know how I can use the autoresizingMask property of these elements to make them resize and not-overlap on one another when the device is rotated from Landscape to portrait (default is portrait, iPad only). I do not want to have custom frame positions for each orientation.

I tried something like this:

But this doesn't seem to work. The elements are all overlapped and unhappily laid out.

Any suggestions?

UPDATE 1

Here's what the table view cell currently looks like in landscape mode:

And here's what I want when the device is rotated to a portrait mode:

UPDATE 2 Here's my code in cellForRowAtIndexPath incorporating suggestions from @Wolfert

0 投票
2 回答
5812 浏览

ios - UIWindow 的 UIView 子视图不旋转

我正在添加一个UIView不是UIWindowkeyWindow 的。我想UIView在设备旋转时旋转。我需要设置窗口或视图上的任何特殊属性吗?当前视图没有旋转。

我知道只有应用程序的第一个子视图keyWindow被告知设备旋转。作为测试,我将我的视图添加到keyWindow. 这会导致视图旋转。然而,keyWindow由于各种美学原因,作为 的第一个子视图的子视图的视图将不起作用。

另一种方法是观察视图中的设备方向变化并自己编写旋转代码。但是,如果可能的话,我想避免编写此代码(在我看来,有一个额外的窗口更干净)。

0 投票
2 回答
1242 浏览

ios - UISplitViewController 和方向 - iOS < 5.0

我正在使用 splitviewcontroller 作为我的应用程序的根视图。我需要将登录和注册视图显示为 splitviewcontroller 顶部的模式视图。当我尝试从 splitViewController 的 rootview 的 viewdidAppear 方法呈现登录/注册视图时,它没有显示出来。我尝试使用以下代码从 Appdelegate 的 didFinishLaunching 方法呈现登录/注册视图

它有效。

我的问题是,该应用程序同时支持横向方向,但是当我在设备中运行它时,无论我持有设备的哪个方向,我都只得到 LandscapeRight 作为方向。因此,如果我将设备置于 LandscapeLeft 方向,则应用程序会在登录屏幕上下颠倒的情况下启动。我在 info.plist 上以支持的方向使用 LandscapeLeft & Right。

请帮我解决问题。另外,当我们将 splitViewcontroller 作为应用程序的根视图时,我们将如何呈现视图?

在 iOS 5.0(仅限)中,我能够从 splitviewcontroller 的 rootview 控制器 - viewdidAppear 方法呈现登录视图。在所有其他操作系统版本中,这种情况都不起作用,我需要从 Appdelegate 的 didFinishLaunching 方法中呈现它。

0 投票
1 回答
534 浏览

iphone - 当我显示 HTML5 视频时横向

我有一个纵向模式的 iPhone 应用程序,它显示一个 web 视图。在 webview 中有一个 HTML5 视频,我将在横向模式下显示它。

所以我在我的 ViewControlleDelegate 方法中有(因为我的应用程序仅处于纵向模式):

所以只有当我显示 HTML5 视频时,webkit 或我的应用程序才有办法在横向模式下切换?

谢谢!

0 投票
2 回答
652 浏览

javascript - 使用 JS 或 JQuery 根据设备方向动态编辑 img src

我正在使用一个 iOS 杂志框架 (PugPig),它将 HTML 文档加载到 WebKit 驱动的视图(Mobile Safari 的无铬版本)中。

我希望每个“页面”根据设备的方向加载 <img/> 的纵向或横向版本。由于各种原因,它必须是 <img/> 而不是 CSS 背景图像,因此媒体查询不起作用。因为我是从本地设备加载 HTML,所以也不能使用 Web 服务器的东西。

所以我猜测 JS 是要走的路,但它需要动态检测方向变化(或至少是屏幕宽度),而不需要刷新页面,我不知道这是否可能。

对 JS 不太熟悉,因此没有示例代码(到目前为止,我所有的尝试都是车祸)。对不起。

非常感谢任何帮助。

0 投票
1 回答
227 浏览

iphone - iPhone:当应用程序在后台运行时捕获事件

当我的应用程序在后台运行时,谁能告诉我是否可以处理诸如 OrientationChanged、Shake、LocationChanged 等事件?

我尝试过以下代码,但只有当我的应用程序在前台运行时才会调用它!

谢谢。