有没有办法指定在调整工作表大小时可以使用哪些边缘



我希望将工作表附加到其父窗口的底部边缘,以便我仍然可以看到父窗口内容的顶部。我在父级的视图控制器中以通常的方式显示它。

@IBAction func clickShowSheet(_ sender: NSButton) {
  mySheet = MySheetController(windowNibName: "MySheet")
  view.window!.beginSheet(mySheet.window!, 
    completionHandler: {response in
       print(response == NSModalResponseOK ? "OK" : "Cancel")
       self.mySheet = nil
  })
}

为了将其附加到底部边缘,我实现了父窗口的委托方法:

func window(_ window: NSWindow, willPositionSheet sheet: NSWindow, using rect: NSRect) -> NSRect {
   var rect = rect
   rect.origin.y = sheet.frame.size.height + 15
   return rect
}

效果令人满意,我希望动画以另一种方式工作。

我还希望工作表可调整大小,因此将笔尖中的复选框保留在打开状态。通过拖动一侧来调整大小很棒:工作表保持居中。不能拖动上边缘,如果工作表位于其窗口的顶部,这是有意义的,但可以拖动下边缘,将工作表留在中间的某个位置。我可以通过实施windowDidEndLiveResize来使其恢复。看起来很傻。所以我需要知道的是,有没有办法启用/禁用特定边缘的拖动?

如果您使用的是弹簧底板,请将其作为道具传递。

blocking={false} 

相关内容

最新更新