如何在离子3中强制加载特定方向?

时间:2019-03-28 15:41:39

标签: ionic-framework ionic3

我试图在设备和本地主机的ionViewDidLoad()中使用ScreenOrientation设置方向,但是我不能强制更改。

import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { ScreenOrientation } from '@ionic-native/screen-orientation';

@Component({
  selector: 'page-Test',
  templateUrl: 'Test.html'
})
export class TestPage {
  constructor(public navCtrl: NavController,
    public navParams: NavParams,
    private screenOrientation: ScreenOrientation) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad TestPage');
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE_PRIMARY);
  }
}

2 个答案:

答案 0 :(得分:0)

尝试:

ionViewDidLoad() {
    console.log('ionViewDidLoad TestPage');
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE);
  }

OR

ionViewDidLoad() {
    console.log('ionViewDidLoad TestPage');
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE_SECONDARY);
  }

答案 1 :(得分:0)

在隐藏垃圾邮件屏幕之前,您必须在 app.components.ts 文件的initializeApp()方法中添加this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE_PRIMARY)行。

示例: app.components.ts

initializeApp() {
    this.platform.ready().then(async () => {
        this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE_PRIMARY).then(async ()=>{
            this.statusBar.styleDefault();
            this.splashScreen.hide();

            this.rootPage="HomePage";
            // rest of your code goes here
        });
    });
}