我希望我的应用程序在SwiftUI为macOS显示或可用的一些秒的延迟,如5秒的延迟,我怎么能这样做呢?只是提供了更多的信息,,我不想在5秒内向用户显示任何东西,在那个窗口之后,用户可以使用。我也知道timer或DispatchQueue的用例,但我不知道如何使用它们来延迟。
@main
struct test58App: App {
var body: some Scene {
WindowGroup {
// Here, I want Window get shown to user with some delay like 5 se
我希望在macOS上不显示SwiftUI应用程序的窗口。该应用程序使用SwiftUI的应用程序生命周期,并且仅在状态栏中运行。在启动时显示窗口是不必要的。然而,我不确定如何绕过WindowGroup。没有EmptyScene这样的东西,将EmptyView放在WindowGroup中当然会创建一个空窗口。
@main
struct MyApp: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
我有一个AppleScript,它检索应用程序的窗口id。下面的脚本检索Brave浏览器的窗口id。
set urls to {"https://google.com"}
tell application "Brave Browser"
set myNewWindow to make new window
repeat with theURL in urls
tell myNewWindow to open location theURL
end repeat
delay 0.3
log myNewWind
我已经创建了一个从WindowAdapter扩展的类,这样每当我想要关闭窗口时,它都会询问您是否真的想要关闭窗口。当我单击"No“时,问题就出现了。我如何处理它,使窗口事件不会“停留”在那里,并且框架一直试图分派它?我只做了一个回报,我什么也想不出来。代码如下:
public class ExitController extends WindowAdapter{
@Override
public void windowClosing(WindowEvent windowEvent) {
if(JOptionPane.showConfirmDialog(
如何在SwiftUI中在MacOS桌面上设置窗口坐标?例如,该窗口是总是出现在中间的中,还是总是出现在右上角的中?
这是我的版本,但是,我移动代码并关闭它,当我打开它时,它首先出现在旧的地方,然后跳转到一个新的位置。
import SwiftUI
let WIDTH: CGFloat = 400
let HEIGTH: CGFloat = 200
@main
struct ForVSCode_MacOSApp: App {
@State var window : NSWindow?
var body: some Scene {
WindowGrou