我想知道是否有一种方法可以显示带有圆角而不是默认尖角的模态窗口。该图显示了我所指的角。
我尝试更改 contentView.layer?.cornerRadius
但没有成功。我该怎么做才能获得我需要的结果?
最佳答案
经过一番努力,我终于找到了解决办法:
首先在您的界面生成器中创建一个新的无边框窗口。在该 View 中放置一个自定义框,并确保它与窗口的顶部边框留出一点空间:
然后在您的应用委托(delegate)中添加该窗口对象的导出:
@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)
这是结果:
关于swift - 带圆角的模态面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313168/