swift - mac Catalyst下如何获取sceneWindow的大小和位置
问题描述
当我使用调整它的大小时,我已经能够获得一个场景窗口的大小
func windowScene(_ windowScene: UIWindowScene, didUpdate previousCoordinateSpace: UICoordinateSpace, interfaceOrientation previousInterfaceOrientation: UIInterfaceOrientation, traitCollection previousTraitCollection: UITraitCollection) {
print("movement trapped \(windowScene.coordinateSpace.bounds)"
}
在场景委托内。但无论我将窗口拖到哪里,x,y 坐标始终为 0,0。希望能够指示新的场景窗口相对于“默认”场景窗口在 Mac 屏幕上的位置。
解决方案
您可以尝试将窗口框架从 windowScene 坐标空间转换为 UIScreen 坐标空间
windowFrame = [window convertRect:window.frame toCoordinateSpace:window.windowScene.screen.coordinateSpace];
推荐阅读
- mongodb - 在 Ubuntu 20.04 上启用多个 mongodb 实例
- wpf - 如何离线使用 Windows.Media.SpeechRecognition?
- angular - 我应该使用 Spring 安全角色基础授权还是 Angular Route Gards 或两者兼而有之?
- ethereum - 警告!合约执行过程中遇到的错误 [Reverted] = EIP 1559 之后的ETH主链
- android - Android 中 KEYCODE_APP_SWITCH 的 HID 用法?
- firebase - 如何通过 gcloud 将 tflite 文件上传到 firebase 测试实验室设备?
- scala - 当 NullType 在 StructType 中时,将空值写入 Spark 中的 Parquet
- java - pdfbox:java.lang.NumberFormatException:对于输入字符串:“1#1”
- apache-spark - Amazon EMR 未分配所有请求的内存
- ffmpeg - 将媒体文件转换为 mp4 时 ffmpeg -i 不起作用