自从OS X Lion开始,标准窗口就有了圆角。不幸的是,我在我的应用程序中复制这个效果时遇到了麻烦。当一个NSView被推到一个NSWindow的边角时,有时它会保留圆形NSWindow并且有时它会逃脱并成为一个方形的角。
我还没有找到规律。
一些"绘制它们背景"的NSViews有时强制要求正方形的角,所以不是这个问题。我的自定义NSViews也有方形的角(如果我靠近边缘,我是否有责任检查我的位置并将其剪切掉?),但有些标准Cocoa控件也会这样做。
例如,在一个新的Cocoa项目中,将一个(滚动)NSTableView或NSTextView放在主NSWindow中,并添加布局约束,以便它跟随窗口的边缘。底部角是方形的!相比之下,Finder有一个(看起来像)NSTableView,紧贴窗口的底角,而且是圆形的。
如何使一个普通的NSWindow,在底部拥有正确的圆角呢?
我还没有找到规律。
一些"绘制它们背景"的NSViews有时强制要求正方形的角,所以不是这个问题。我的自定义NSViews也有方形的角(如果我靠近边缘,我是否有责任检查我的位置并将其剪切掉?),但有些标准Cocoa控件也会这样做。
例如,在一个新的Cocoa项目中,将一个(滚动)NSTableView或NSTextView放在主NSWindow中,并添加布局约束,以便它跟随窗口的边缘。底部角是方形的!相比之下,Finder有一个(看起来像)NSTableView,紧贴窗口的底角,而且是圆形的。
如何使一个普通的NSWindow,在底部拥有正确的圆角呢?