问题标签 [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 投票
0 回答
1263 浏览

ipad - 创建 iPad 替代横向界面问题

在我的最后一个项目中,我在开发面向 UIViewController 的子类时使用了一些技术来创建一个替代的横向视图,例如 AutosizingMask 属性并在一些 layoutSubviews 方法中添加额外的代码。但是现在,我想让我公司的设计师通过编辑一些 XIB 文件来处理当前的项目艺术,为此我认为我需要两个 viewControllers 与他们的 XIB 文件链接,用于每个面向应用程序的视图。

所以,我确实开始阅读 iOS 文档的视图控制器编程指南:http: //developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40007457-CH101 -SW26 并查看了这个 Apple 示例代码 AlternateViews:http: //developer.apple.com/library/ios/#samplecode/AlternateViews/Introduction/Intro.html

尽管阅读了这些文档,但我无法创建适合我所有需求的定向视图。假设我想创建一个带有背景图像、状态标签和活动指示器的定向加载视图。我会创建:

  • MyLoadingView*Base*ViewController - 这是一个保持逻辑的基类,它是 IBOutlets,它是下一个 XIB 的 fileOwner。

  • MyLoadingView*Portrait*ViewController - 它继承了上面的 MyLoadingViewBaseViewController 并在 MyLoadingViewPortraitViewController.xib 中有个性化的纵向视图

  • MyLoadingView*Landscape*ViewController - 它还继承了 MyLoadingViewBaseViewController 并在 MyLoadingViewLandscapeViewController.xib 中拥有个性化的横向视图。

我所学到的表明肖像类必须包含一个属性,该属性保留风景类的实例。

并且当设备旋转时,纵向视图实例必须呈现横向视图实例,它具有模态视图:

这行得通,但让我们谈谈一些问题:

  1. 默认的 iPad 旋转动画不出现,视图突然交换给用户带来了不希望的体验。在尝试修复它时,我在 AlternateViews 示例代码中发现了以下几行。

    但是最终的旋转动画也不像使用 autosizingMasks 的视图的默认旋转。

  2. 我对使用模态视图演示感到不舒服。考虑尝试将当前定义为详细视图控制器的视图旋转到 UISplitViewController。如果详细视图实现了此代码,则在设备旋转后它将出现在拆分视图上。(也许添加为子视图可​​能是一个不同的解决方案。你们中的一些人尝试过吗?)

  3. 为什么不使用 UIViewController 的“响应视图旋转事件”方法而不是监听 UIDeviceOrientationDidChangeNotification。(当横向视图是窗口最前面的视图时,它将接收这些旋转事件方法并可以重新发送到将继续管理它的纵向视图。)

最后,我将不胜感激任何有关创建面向视图的答案、提示或示例代码。提前致谢。

0 投票
1 回答
1019 浏览

ios - 是否可以在 iOS 中强制 UI 自动旋转?

我有一个自动旋转视图,它应该只在某个特定时间是水平的。我尝试在特定时间更改 -shouldAutorotateToInterfaceOrientation: 的返回值,但它没有按我预期的那样工作。因为没有办法将当前面向垂直的 UI 强制为水平。这可能吗...?

0 投票
2 回答
4790 浏览

android - 显示相机预览时停止旋转表面视图

我有一个显示相机预览的表面视图,在横向模式下看起来不错,但是当我将手机旋转为纵向时,表面视图会旋转,并且相机预览在其一侧,这看起来是错误的。

当我将我的应用程序方向固定为横向时AndroidManifest.xml,表面视图会按照我想要的方式运行,因为它不会旋转并且相机预览效果很好。

问题是我在屏幕上有其他对象需要随着手机的方向旋转,现在不需要了,因为我已将方向设置为横向。

任何人都可以帮助我在手机旋转时让除了表面视图之外的所有东西都旋转,或者如果在应用程序方向设置为横向时无法获得手机的当前物理方向,那么我可以手动旋转我的其他对象。

谢谢,安德鲁

0 投票
1 回答
206 浏览

iphone - 3 次定向后 App 挂起

我有一个带有 pdf 的 UIviewController。我使用另一个屏幕中的方向来显示 pdf。方向运行良好 3 次,然后应用程序挂起并显示以下警告。

[切换到进程11779线程0x0]

[切换到进程13059线程0x0]

[切换到进程11779线程0x0]

它说什么?请在下面找到代码。

任何帮助表示赞赏。谢谢你

0 投票
1 回答
855 浏览

iphone - 在 iphone 旋转时隐藏/显示 NavigationBar 会使 NavigationBar 迷失方向

我有一个奇怪的,我希望有人能帮忙。我有一个应用程序,当我旋转到横向时,我隐藏了 NavigationBar ...

这工作正常,导航栏消失。问题是,当我旋转回纵向时,我的导航栏重新出现,但在我的视图中间是垂直的,而不是在屏幕顶部水平!!!无论我将 NavBar 的重新外观放在哪里(旋转后,前半部分后),回到纵向视图时它总是处于错误的方向和位置。

这是我关于旋转回纵向的代码:

任何人都可以提供想法吗?这真让我抓狂!

0 投票
1 回答
536 浏览

android - 基于 WebView 的应用程序的纵向模式问题

我使用 WebView 有一个用于 Tab 的 Android Web 应用程序。我的一切都是使用 asp.net 在服务器端开发的。应用程序设计在横向模式下相当不错,但在纵向模式下就中断了。

我现在该怎么办,为纵向模式设计每个页面或其他东西。

0 投票
1 回答
2801 浏览

ipad - 平板时 iPad 设备方向总是错误

我知道这个主题在 SO 受到了很多关注,但是没有一个“解决方案”对我有用。情况如下:

  1. iPad 平放在我的桌子上(设备正面朝上),主屏幕清晰易读,但主页按钮在顶部。所以这有效地显示了“Portrait Up Side Down”界面方向。

  2. 我启动我的应用程序

  3. 该应用程序调用beginGeneratingDeviceOrientationNotifications以确保加速度计正常工作,并且方向通知进入。

  4. 在启动时,我的应用程序同时查询“界面方向”和“设备方向”。结果是:

    Apple 文档说每个应用程序(界面?)都以纵向方向开始,所以这可能是有道理的。设备方向也是正确的,因为这确实是正面朝上的。

  5. 启动后,第一个方向通知即将到来:

    同样,界面的纵向,(这与我的预期相反,主屏幕显示为上下方向),据说设备也是纵向的(不是这样,但这显然是当设备正面朝上或朝下时如何确定应用内容的方向的巧妙方案)。

  6. 正如许多人提到的,另一个(只有一个,不是两个)方向通知如下:

    界面仍然是纵向的(而不是倒置),而设备则是背朝的(这是正确的)。

我的应用程序可以正确调整自身,并且显示为上下颠倒,这是完全错误的。

我该怎么做才能知道最后已知的方向,即主屏幕和 iPad 上其他 UI 中显示的方向?

这是一个只有一个窗口和一个视图的 OpenGL 应用程序。我已经在组合中添加了一个 UIViewController 以查看这是否提供了更准确的信息,但它是一样的,而且是错误的。我知道我不是唯一一个为此苦苦挣扎的开发人员,因为我在 iPad 上的许多应用程序也做错了,你必须倾斜设备以使它们正确定位。但有些应用程序似乎做对了,秘诀是什么

0 投票
2 回答
1616 浏览

ipad - iPad的纵向和横向模式保持css分开的首选方法是什么?

当我们制作特定于 iPad 的网站(我正在为桌面用户制作不同的网站)并且我们还想为纵向和横向模式编写不同的 CSS 时,您更喜欢哪种方法?

第一种方法

我们可以只使用一个 http 请求来保留单个 CSS 文件

并在内部使用媒体查询来保持代码分离

第二种方法

我们可以使用 2 个 CSS 文件和 2 个 http 请求

您更喜欢哪种方法,如果您有任何改进建议,请告诉。

注意:我正在为平板电脑制作单独的网站,它不适用于桌面和移动设备

编辑 2: *在第一种方法中,最好也指定 Landscape,否则没有必要。*

将此与第一个方法代码进行比较

style="text/css"可以从 CSS 链接中删除吗?

我应该保持media="all"链接还是没有必要?

0 投票
1 回答
6987 浏览

iphone - 旋转 UIAlertView

我创建了一个自定义 UIAlertView (通过对其进行子类化并使用其显示功能),它具有一些自定义子视图并且具有非标准大小。

当我创建和显示它时它工作正常,但是,当设备旋转时,警报旋转然后返回到其默认大小。

任何想法要覆盖哪些功能 - 或者我应该调整 UIViewController?

谢谢,彼得

0 投票
1 回答
504 浏览

cordova - NativeControls 和设备方向

我在 PhoneGap iOS 应用程序中使用 NativeControls 插件和原生页脚栏。

当我旋转我的 iPhone 时,页脚栏也会旋转,但它只显示一个没有任何图标的黑条......当我移动到另一个页面时,整个界面完全坏了,我需要重新启动应用程序。

有谁知道如何解决它?也许 NativeControls 插件与横向不兼容?