跳到主要内容
版本:v5

@capacitor/screen-orientation

Screen Orientation API 提供了与屏幕方向相关的信息和功能。

安装

npm install @capacitor/screen-orientation@latest-5
npx cap sync

iOS

锁定屏幕方向仅对 Capacitor 视图控制器生效,而不会作用于其他已呈现的视图控制器(例如由 Browser 插件呈现的控制器)。
如果需要同时锁定已呈现的视图控制器,可以将以下代码添加到应用的 AppDelegate.swift 文件中:

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask(rawValue: (self.window!.rootViewController as! CAPBridgeViewController).supportedInterfaceOrientations.rawValue)
}

iPad 方向锁定

默认情况下,iPad 允许多任务处理且其方向无法被锁定。如果需要在 iPad 上锁定方向,请将 Requires Full Screen 选项设置为 YES,方法是在 Info.plist 中添加以下内容:

  <key>UIRequiresFullScreen</key>
<true/>

API

orientation()

orientation() => Promise<ScreenOrientationResult>

获取当前屏幕方向。

返回值:

Promise<ScreenOrientationResult>

自版本: 4.0.0


lock(...)

lock(options: OrientationLockOptions) => Promise<void>

锁定屏幕方向。

参数类型
options
OrientationLockOptions

自版本: 4.0.0


unlock()

unlock() => Promise<void>

解锁屏幕方向。

自版本: 4.0.0


addListener('screenOrientationChange', ...)

addListener(eventName: 'screenOrientationChange', listenerFunc: (orientation: ScreenOrientationResult) => void) => Promise<PluginListenerHandle> & PluginListenerHandle

监听屏幕方向变化。

参数类型
eventName'screenOrientationChange'
listenerFunc
(orientation: ScreenOrientationResult) => void

返回值:

Promise<PluginListenerHandle> & PluginListenerHandle

自版本: 4.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

移除所有监听器。

自版本: 4.0.0


接口

ScreenOrientationResult

属性类型
typeOrientationType

OrientationLockOptions

属性类型描述
orientation
OrientationLockType
注意:TypeScript v5.2+ 用户应从 @capacitor/screen-orientation 导入 OrientationLockType

PluginListenerHandle

属性类型
remove() => Promise<void>

类型别名

OrientationLockType

'any' | 'natural' | 'landscape' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary'