메뉴로 바로가기

__CAPGO_KEEP_1__

터미널 창
bun add @capgo/capacitor-screen-orientation
bunx cap sync
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';

현재 화면 방향을 가져옵니다.

화면의 현재 방향을 반환합니다.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
const result = await ScreenOrientation.orientation();
console.log('Current orientation:', result.type);

화면 방향을 특정 유형으로 잠급니다.

화면을 지정된 방향으로 잠급니다. iOS에서 bypassOrientationLock이 true일 경우, 물리적 장치 방향을 추적하기 시작합니다.

Note: UI는 사용자의 방향 잠금 설정을 존중합니다. 장치의 물리적 위치를 감지하여 UI가 회전하지 않아도 가능합니다.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Standard lock
await ScreenOrientation.lock({ orientation: 'landscape' });
// Lock with motion tracking on iOS
await ScreenOrientation.lock({
orientation: 'portrait',
bypassOrientationLock: true
});

화면 방향 잠금을 해제하세요.

장치의 위치에 따라 화면이 자유롭게 회전할 수 있습니다. 또한 방향 추적을 사용중이던 경우에도 중지합니다.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.unlock();

장치 방향을 사용자 센서를 통해 추적하세요.

이 메서드는 화면 방향 잠금과 독립적으로 장치의 물리적 방향을 추적하고 싶을 때 유용합니다. iOS에서는 Core Motion을 사용하여 방향 변경을 감지합니다.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.startOrientationTracking({
bypassOrientationLock: true
});
// Listen for changes
ScreenOrientation.addListener('screenOrientationChange', (result) => {
console.log('Orientation changed:', result.type);
});

장치 방향 추적을 중지하세요.

__CAPGO_KEEP_0__

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.stopOrientationTracking();

isOrientationLocked

방향 고정 여부

방향 고정 여부 확인

이 메소드는 물리적 기기 방향(모션 센서)과 UI 방향을 비교합니다. 이 두 방향이 다르면 방향 고정이 활성화됩니다.

주의: 이 메소드는 startOrientationTracking() 또는 lock() 메소드의 bypassOrientationLock: true 옵션을 사용하여 모션 추적을 활성화해야 합니다. 이 메소드는 iOS (Core Motion)와 Android (Accelerometer)에서 동작합니다.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Start motion tracking first
await ScreenOrientation.startOrientationTracking({
bypassOrientationLock: true
});
// Check lock status
const status = await ScreenOrientation.isOrientationLocked();
if (status.locked) {
console.log('Orientation lock is ON');
console.log('Physical:', status.physicalOrientation);
console.log('UI:', status.uiOrientation);
}

타입 참조

타입 참조

ScreenOrientationResult

스크린 방향 결과

방향 메소드의 결과

export interface ScreenOrientationResult {
/**
* The current orientation type.
*
* @since 1.0.0
*/
type: OrientationType;
}

OrientationLockOptions

OrientationLockOptions 제목

화면 방향 잠금 옵션.

export interface OrientationLockOptions {
/**
* The orientation type to lock to.
*
* @since 1.0.0
*/
orientation: OrientationLockType;
/**
* Whether to track physical device orientation using motion sensors.
* When true, uses device motion sensors to detect the true physical
* orientation of the device, even when the device orientation lock is enabled.
*
* **Important:** This does NOT bypass the UI orientation lock.
* The screen will still respect the user's orientation lock setting.
* This option only affects orientation detection/tracking - you'll receive
* orientation change events based on how the device is physically held,
* but the UI will not rotate if orientation lock is enabled.
*
* Supported on iOS (Core Motion) and Android (Accelerometer).
*
* @default false
* @since 1.0.0
*/
bypassOrientationLock?: boolean;
}

StartOrientationTrackingOptions

StartOrientationTrackingOptions 제목

운동 센서를 사용하여 방향 추적을 시작하는 옵션.

export interface StartOrientationTrackingOptions {
/**
* Whether to track physical device orientation using motion sensors.
* When true, uses device motion sensors to detect the true physical
* orientation of the device, even when the device orientation lock is enabled.
*
* **Important:** This does NOT bypass the UI orientation lock.
* This only enables detection of the physical orientation.
*
* Supported on iOS (Core Motion) and Android (Accelerometer).
*
* @default false
* @since 1.0.0
*/
bypassOrientationLock?: boolean;
}

OrientationLockStatusResult

OrientationLockStatusResult 제목

isOrientationLocked() 메서드의 반환 결과.

export interface OrientationLockStatusResult {
/**
* Whether the device orientation lock is currently enabled.
*
* This is determined by comparing the physical device orientation
* (from motion sensors) with the UI orientation. If they differ,
* orientation lock is enabled.
*
* Available on iOS (Core Motion) and Android (Accelerometer) when motion tracking is active.
*
* @since 1.0.0
*/
locked: boolean;
/**
* The physical orientation of the device from motion sensors.
* Available when motion tracking is active (iOS and Android).
*
* @since 1.0.0
*/
physicalOrientation?: OrientationType;
/**
* The current UI orientation reported by the system.
*
* @since 1.0.0
*/
uiOrientation: OrientationType;
}

OrientationType

OrientationType 제목

디바이스의 방향 상태를 설명하는 방향 유형.

export type OrientationType = 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary';

OrientationLockType

OrientationLockType

장치 방향을 잠그기 위해 사용할 수 있는 방향 잠금 유형

export type OrientationLockType =
| 'any'
| 'natural'
| 'landscape'
| 'portrait'
| 'portrait-primary'
| 'portrait-secondary'
| 'landscape-primary'
| 'landscape-secondary';

이 페이지는 플러그인의 src/definitions.ts업스트림에서 pubic API이 변경될 때 다시 싱크를 실행하세요.