(我发现了几个类似的问题,但并没有完全一样。一些问题比所涉及的操作系统还老。一些正在做疯狂的事情,例如完全自定义的窗口。我没有人找到有关如何使一个完全普通的窗口正常工作的说明。)
从OS X Lion开始,标准窗口已变成圆角。不幸的是,我在将其复制到应用程序时遇到了麻烦。当将NSView推向NSWindow的角时,有时它会夹在圆形NSWindow上,有时会逃逸并形成一个方形角。
我还无法弄清楚一种模式。
例如,创建一个新的Cocoa项目,在主NSWindow中放置一个(滚动的)NSTableView或NSTextView,并添加布局约束,使其遵循窗口的边缘。底角是正方形!相比之下,Finder拥有一个(看起来像)NSTableView,它正对着窗口的下角,并且是四舍五入的。
如何制作一个普通的NSWindow,底部具有适当的圆角?
最佳答案
为了使NSWindow将其内容剪切到其实际窗口边界(为什么不是默认值,这是该设置),设置的标志是NSView的wantsLayer
。
contentView!.wantsLayer = true
中,加载窗口时。 Meta:documentation for
wantsLayer
讨论了很多看起来完全与窗口形状或裁剪无关的复杂事物,它甚至都不是NSWindow的属性,而NSWindow具有一些声称与窗口角圆角有关的标志,但这些标志并没有不再工作了,所以我不确定应该如何发现这一点,除非花了两天的试验和错误时间。我希望这个答案对其他人有帮助!关于macos - NSWindow何时才变成圆角?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38986010/