【问题标题】:Modal Panel with rounded corners带圆角的模态面板
【发布时间】:2017-03-04 22:21:24
【问题描述】:

我想知道是否有一种方法可以显示带有圆角而不是默认尖角的模态窗口。图片显示了我所指的角落。

我尝试更改contentView.layer?.cornerRadius,但没有成功。我该怎么做才能得到我需要的结果?

【问题讨论】:

  • 你不想那样做。即使你成功了,矩形窗口周围的阴影也会保留。
  • 如果是这样,我也想删除影子

标签: swift cocoa modal-dialog


【解决方案1】:

经过一番努力,终于找到了解决办法:

首先在界面构建器中创建一个新的无边框窗口。在该视图中放置一个自定义框,并确保它与窗口的顶部边框留出一点空间:

然后在您的应用委托中添加该窗口对象的出口:

@IBOutlet weak var saveWindow: NSWindow!

因此,复制该扩展程序以将面板加载和关闭为模式表:

extension NSWindow {

    public func loadPanel(named: NSWindow) {
        named.isOpaque = false
        named.backgroundColor = NSColor.clear
        named.hasShadow = false
        self.beginSheet(named, completionHandler: nil)
    }
    public func closePanel(named: NSWindow) {
        self.endSheet(named)
    }

}

如果你想打开一个面板,你只需要调用这两个函数。

window.loadPanel(named: saveWindow)

当你完成后:

window.closePanel(named: saveWindow)

这是结果:

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多