如何解决调整 NSPopover 窗口的大小
我是 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
}
}
解决方法
我也尝试完成你一直在尝试的事情,而且已经有一段时间了。据我所知,苹果不允许通过手势调整弹出框的大小。
但是您可以调整弹出框的大小,但它是即时的。您可以做 2 件事来实现这一目标。
-
有一个单例类来控制
NSPopover
的状态、大小(可能命名为:PopoverController
)并调整NSPopover
的单个实例 -
将您的
var popover = NSPopover.init()
放在AppDelegate
类之上,以便该对象可在全局范围内操作,并且无论您想在何处调整大小,都可以参考该实例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。