跳到主要内容
版本:v6

@capacitor/screen-orientation

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

安装

npm install @capacitor/screen-orientation
npx cap sync

iOS平台说明

屏幕方向锁定功能仅对Capacitor视图控制器有效,不会影响其他模态视图控制器(如浏览器插件打开的视图)。若需同时锁定模态视图的方向,可在应用的AppDelegate.swift文件中添加以下代码:

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

iPad方向锁定

默认情况下,iPad支持多任务处理且无法锁定方向。如需在iPad上锁定方向,需将Info.plist中的Requires Full Screen选项设为YES

  <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>

解除屏幕方向锁定。

自版本: 4uallyx0


addListener('screenOrientationChange', ...)

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

监听屏幕方向变化事件。

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

返回值:

Promise<PluginListenerHandle>

自版本: 4.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

移除所有事件监听器。

自版本: 4.0.0


Interfaces

ScreenOrientationResult

属性类型
typeOrientationType

OrientationLockOptions

属性类型说明
orientation
OrientationLockType
注意:TypeScript v5.2+用户应从@capacitor/screen-orientation导入OrientationLockType类型定义。

PluginListenerHandle

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

Type Aliases

OrientationLockType


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