当前位置: 首页 > 面试题库 >

强制“横向”定向模式

淳于坚壁
2023-03-14
问题内容

我试图对我的应用程序强制使用“横向”模式,因为我的应用程序绝对不是针对“人像”模式设计的。我怎样才能做到这一点?


问题答案:

现在可以使用HTML5 Webapp清单。 见下文。

原始答案:

您不能将网站或Web应用程序锁定在特定方向。它违反了设备的自然行为。

您可以使用CSS3媒体查询来 检测 设备方向,如下所示:

@media screen and (orientation:portrait) {
    // CSS applied when the device is in portrait mode
}

@media screen and (orientation:landscape) {
    // CSS applied when the device is in landscape mode
}

或通过绑定JavaScript方向更改事件,如下所示:

document.addEventListener("orientationchange", function(event){
    switch(window.orientation) 
    {  
        case -90: case 90:
            /* Device is in landscape mode */
            break; 
        default:
            /* Device is in portrait mode */
    }
});

2014年11月12日更新:HTML5 Webapp清单现在可以实现。

如html5rocks.com所述,您现在可以使用manifest.json文件强制定位模式。

您需要将这些行包括到json文件中:

{
    "display":      "standalone", /* Could be "fullscreen", "standalone", "minimal-ui", or "browser" */
    "orientation":  "landscape", /* Could be "landscape" or "portrait" */
    ...
}

并且您需要像这样将清单包含到您的html文件中:

<link rel="manifest" href="manifest.json">

不能完全确定webapp清单中支持定向模式的支持,但是Chrome肯定存在。有信息时将更新。



 类似资料:
  • 我在纵向模式下有十多个ViewController,但无论设备的方向如何,我都需要在横向模式下强制一个ViewController。

  • 问题内容: 我试图在横向模式下仅强制应用程序中的一个视图, 该视图以纵向模式启动,并且在更改设备方向时保持旋转。 从不调用shouldAutorotate。 任何帮助,将不胜感激。 问题答案: 它对其他人可能有用,我找到了一种强制视图以横向模式启动的方法: 把它放在viewDidLoad()中: 和,

  • 我试图在横向模式下强制应用程序中只有一个视图,我调用: 视图以纵向模式启动,并在更改设备方向时保持旋转。永远不会调用shouldAutorotate()方法。 任何帮助都将不胜感激。

  • 我将设备保持在横向模式,然后移动到第二视图控制器,它只支持纵向模式。从第二视图控制器返回时(支持所有方向),第一视图控制器不会自动旋转到横向模式。 如果我做了下面的代码,那么它在IOS6中工作。但不适用于IOS7。 在IOS7中,viewController正在旋转,但状态栏未旋转

  • 我正在关注w3c学校关于制作幻灯片网页的教程。 对我来说,唯一不同的要求是,我有相同垂直分辨率的横向和纵向图像(1280x720和420x720)。 当我加载肖像图像时,它们的比例会大得多,因为图像仅受最大宽度的限制。实际上,我希望边界是垂直最大高度,所以当我循环通过它们时,高度是恒定的。 问题是,当我在上指定“最大高度”并删除“最大宽度”时。幻灯片容器,然后将图像左对齐放置在页面上。所以看起来我

  • setPrintedLandscape(): self 实例 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ $excel->fileName('printed_landscape.xlsx', 'sheet1') ->setPrintedLandscape() // 设置打印