【问题标题】:Popup window in OS X AppOS X 应用程序中的弹出窗口
【发布时间】:2016-12-07 18:38:03
【问题描述】:

我在使用应用程序时遇到了一点问题,正在寻找最佳解决方案。我想在其他 NSViewController 中创建一个具有单独逻辑的弹出窗口。

情况是 - 我单击窗口中的按钮,然后出现带有一些 NSTextField 和自定义设计的其他窗口。我正在考虑哪种组件最适合我的问题。

类似这样的:

my view

提前感谢您的帮助!

【问题讨论】:

  • NSPanel 或创建另一个窗口?你看过Window Programming Guide吗?
  • 您可以通过从按钮拖动到视图控制器的控件将应该打开窗口的按钮链接到视图控制器吗?

标签: swift macos nswindow nsviewcontroller


【解决方案1】:

如果使用以下代码完成:

let addMyPopover = NSPopover()

if let popOverController = aViewController(xyz: data) {
            popOverController.closeDelegate = self
            addMyPopover.behavior = .Transient
            addMyPopover.contentViewController = popOverController
            addMyPopover.contentSize = CGSizeMake(450, 380)
            addMyPopover.showRelativeToRect(addButton.bounds,    ofView: addPhaseButton, preferredEdge: NSRectEdge.MinY)
        }

extension MyController: closeViewDelegate {
    func closePopover(sender: AnyObject?) {
       addMyPopover.performClose(sender)
    }
} 

protocol closeViewDelegate: class {
   func closePopover(sender: AnyObject?)
}

aViewController 来自 NSViewController 类型

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2011-11-19
相关资源
最近更新 更多