我是 swift 的新手,我正在制作一个菜单栏应用程序。如何让用户通过拖动窗口的角来调整窗口大小?到目前为止我只知道如何设置固定的高度和宽度popover.contentSize = NSSize(width: 890, height:890)
应用委托
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var popover = NSPopover.init()
var statusBar: StatusBarController?
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the contents
let contentView = ContentView()
popover.contentViewController = MainViewController()
popover.contentSize = NSSize(width: 890, height:890)
popover.contentViewController?.view = NSHostingView(rootView: contentView)
popover.animates = false
// Create the Status Bar Item with the Popover
statusBar = StatusBarController.init(popover)
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
}
答案 0 :(得分:0)
我也尝试完成你一直在尝试的事情,而且已经有一段时间了。据我所知,苹果不允许通过手势调整弹出框的大小。
但是您可以调整弹出框的大小,但它是即时的。您可以做 2 件事来实现这一目标。
有一个单例类来控制 NSPopover
的状态、大小(可能命名为:PopoverController
)并调整 NSPopover
的单个实例
将您的 var popover = NSPopover.init()
放在 AppDelegate
类之上,以便该对象可在全局范围内操作,并且无论您想在何处调整大小,都可以参考该实例。