2019-12 에 작성된 글입니다.
가로 화면으로 고정하는 방법은 여럿이 있겠지만, 저는 아이오닉의 플러그인을 이용하여 고정시켜보도록 하겠습니다. 아래 페이지에 가면 화면 고정에 대한 플러그인을 확인할 수 있습니다.
공식 문서에 나온 것처럼, 아이오닉 플러그인을 설치해 보도록 하겠습니다.
$ ionic cordova plugin add cordova-plugin-screen-orientation
웬걸, ionic/vue에서는 Cordova 기능을 사용할 수 없다고 합니다. 글을 더 읽어 보니, Cordova 플러그인을 Capacitor 프로젝트에 추가하고 싶으면 아래 링크를 방문하라고 합니다. 아래 링크에서 캐피시터 문서를 확인해 보겠습니다.
플러그인을 설치한 후 동기화를 하면 ionic/vue에서도 사용할 수 있다고 나옵니다. 🤭 한번 시도해 보겠습니다.
먼저, 코르도바의 플러그인을 설치한 후 프로젝트를 동기화 시키겠습니다.
$ npm install cordova-plugin-screen-orientation
$ npx cap sync
그런 다음, 프로젝트에서 해당 플러그인을 사용하기 위해 @ionic-native/screen-orientation 를 설치하겠습니다.
$ npm install @ionic-native/screen-orientation
설치가 완료됐다면, App.vue 파일에 가서 해당 플러그인을 import 시키겠습니다.
<script>
import { ScreenOrientation } from "@ionic-native/screen-orientation";
</script>
문제없이 import가 됩니다! 이거 뭔가 순조로운데요? 이제 아이오닉의 공식 문서를 다시 한번 확인해 보겠습니다.
… 사용법이 타입스크립트로 작성되어있네요! 타입스크립트는 모르고, 자바스크립트만 아는 저는, 일단 끌리는 대로 시도해 보도록 하겠습니다.
프로젝트가 생성될 때 ScreenOrientation을 콘솔에 찍어보면 어떻게 될까요? App.vue에 추가해 보겠습니다.
<script>
import { ScreenOrientation } from "@ionic-native/screen-orientation";
export default {
created(){
console.log(ScreenOrientation)
}
};
</script>
성공입니다! 현재 프로젝트가 가로화면으로 되어있다고 리턴이 옵니다. 그렇다면, 고정하는 옵션을 created 부분에 넣어 주면 되겠네요!
App.vue에 해당 내용을 추가하겠습니다.
<script>
import { ScreenOrientation } from "@ionic-native/screen-orientation";
export default {
created(){
ScreenOrientation.lock(ScreenOrientation.ORIENTATIONS.LANDSCAPE_PRIMARY)
}
};
</script>
실행하면, 콘솔창에 screen.orientation.lock() is not available on this device. 라는 에러가 뜹니다. 검색해 보니 이 에러는 플러그인 문제가 아닌, 웹으로 실행하여 발생한 에러입니다. 그럼 이것을 xCode로 실행해 볼까요? xCode로 실행하는 방법은 이전 글에 나와있습니다.
가로 화면 고정이 잘 되어있는 모습을 확인할 수 있습니다!
이외에도 화면이 바뀌었을 때 반응 주는 API, 세로화면 고정 API 등을 사용할 수 있으니, 아래 링크를 통해 확인해 주세요.
'프론트 > Vue' 카테고리의 다른 글
[Vue Ionic] App name, Splash Localization 국제화 지역화 (0) | 2022.02.06 |
---|---|
[Vue Ionic] 다국어 지원 (i18n 사용), ionic alert, ionic Globalization (시스템 언어) (0) | 2022.02.06 |
[Vue] mixin, filter 기능 사용 (0) | 2022.02.06 |
[Vue Ionic] ionic + vue 프로젝트 생성 및 XCode 실행 (0) | 2022.02.06 |
[Nuxt] PWA + firebase Push 알림 기능 추가 및 확인 (0) | 2022.02.06 |