@capacitor/screen-orientation
The Screen Orientation API provides information and functionality related to the orientation of the screen.
Installโ
npm install @capacitor/screen-orientation
npx cap sync
iOSโ
Locking the Screen Orientation only works for the Capacitor View Controller only, but not other View Controllers being presented (such as the one presented by Browser plugin).
For also lock presented View Controllers, this code can be added to the app's AppDelegate.swift
file:
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask(rawValue: (self.window!.rootViewController as! CAPBridgeViewController).supportedInterfaceOrientations.rawValue)
}
iPad Orientation Lockโ
By default, an iPad allows Multitasking and its orientation cannot be locked. If you need to lock orientation on an iPad set the option Requires Full Screen
to YES
by adding the following to Info.plist
:
<key>UIRequiresFullScreen</key>
<true/>
APIโ
orientation()โ
orientation() => Promise<ScreenOrientationResult>
Returns the current screen orientation.
Returns:
Promise<ScreenOrientationResult>
Since: 4.0.0
lock(...)โ
lock(options: OrientationLockOptions) => Promise<void>
Locks the screen orientation.
Param | Type |
---|---|
options |
|
Since: 4.0.0
unlock()โ
unlock() => Promise<void>
Unlocks the screen's orientation.
Since: 4.0.0
addListener('screenOrientationChange', ...)โ
addListener(eventName: 'screenOrientationChange', listenerFunc: (orientation: ScreenOrientationResult) => void) => Promise<PluginListenerHandle>
Listens for screen orientation changes.
Param | Type |
---|---|
eventName | 'screenOrientationChange' |
listenerFunc |
|
Returns:
Promise<PluginListenerHandle>
Since: 4.0.0
removeAllListeners()โ
removeAllListeners() => Promise<void>
Removes all listeners.
Since: 4.0.0
Interfacesโ
ScreenOrientationResultโ
Prop | Type |
---|---|
type | OrientationType |
OrientationLockOptionsโ
Prop | Type | Description |
---|---|---|
orientation |
| Note: Typescript v5.2+ users should import OrientationLockType from @capacitor/screen-orientation. |
PluginListenerHandleโ
Prop | Type |
---|---|
remove | () => Promise<void> |
Type Aliasesโ
OrientationLockTypeโ
'any' | 'natural' | 'landscape' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary'