如何检测iPhone 14 pro动感岛的大小和变化?
由于安全区域在圆形屏幕和顶部或底部插图内提供了一个安全矩形,但与矩形内的对象无关。

在我的应用程序中,我实现了拉动刷新功能和自定义加载图标。在具有动态岛的iPhone中,它与我的加载图标重叠。
我想检测是否有动态岛的设备。如果有的话,我会在上面添加一些顶部空间。
我按照Apple的文档创建了一个示例,我想要显示的内容仅在应用程序进入后台时出现。我想知道是否可以在前台显示?非常感谢。
我有一个秒表在动态岛紧凑模式下运行,使用相同的字体和颜色。第一个屏幕截图是空闲秒表,第二个屏幕截图是正在运行的秒表。
我相信正确的状态应该是第一个截图。
代码(compactTrailing块内):
if stopwatch.isRunning {
// Stopwatch running state
Text(timerInterval: stopwatch.timeInterval, countsDown: false)
.font(.system(size: 14, weight: .medium))
.foregroundColor(iconTintDarkMode)
} else {
// Stopwatch idle state
Text(timerString(time: stopwatch.elapsedTime))
.font(.system(size: 14, weight: .medium))
.foregroundColor(iconTintDarkMode)
}
Run Code Online (Sandbox Code Playgroud)
定时器字符串方法:
func timerString(time: Double) -> String {
var result = ""
let hours = Int(time) / 3600
let minutes = Int(time) / 60 % 60
let seconds = Int(time) % 60
if hours > 0 {
result.append(String(format: "%02d:", hours))
}
result.append(String(format: "%02d:%02d", …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种每秒或每 2 秒更新实时活动的方法,而不使用推送通知,同时将应用程序保持在后台。
你有什么建议吗?我尝试过类似的操作,但几秒钟后它就停止工作了:
var bgTask = UIBackgroundTaskIdentifier(rawValue: 1324)
bgTask = UIApplication.shared.beginBackgroundTask(expirationHandler: {
UIApplication.shared.endBackgroundTask(bgTask)
})
let timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(updateInfo), userInfo: nil, repeats: true)
RunLoop.current.add(timer, forMode: .default)
Run Code Online (Sandbox Code Playgroud) 是否可以使用 React Native 来定位具有动态岛屿的手机(iPhone 14 Pro 和 iPhone 14 Pro Max)?
我无法在实时活动和动态岛屿小部件中显示来自资产的图像。
它可以很好地处理图标,但不能处理来自资产或 UIImage(通过数据)的图像。
这有效:
Image(systemName: "timer")
Run Code Online (Sandbox Code Playgroud)
这不起作用:
Image("pizza")
Run Code Online (Sandbox Code Playgroud)
我的应用程序资产如下所示:
我在扩展中复制了资产:
当我从资产添加图像时,不会创建实时活动通知。任何帮助,将不胜感激!
我尝试过但不起作用:
swift ×5
swiftui ×3
ios ×2
uikit ×2
activitykit ×1
flutter ×1
react-native ×1
widget ×1
xcode ×1