
从OS X lion开始,标准窗口有圆角.不幸的是,我无法在我的应用程序中复制它.当NSVIEw被推到NSWindow的角落时,有时它会被限制在圆形NSWindow上,有时它会逃脱并形成一个方角.
我还没能弄清楚一个模式.
>即使是“绘制背景”的NSVIEw,也有时会强迫方角,所以不是这样.
>我的自定义NSVIEws制作方角(我负责检查我在NSWindow中的位置,并且如果我靠近边缘那么剪裁到它?),但是一些标准的Cocoa控件也会这样做.
例如,创建一个新的Cocoa项目,在主NSWindow中放置(滚动)NStableVIEw或NSTextVIEw,并添加布局约束,使其跟随窗口的边缘.底角是方形的!相比之下,Finder有一个(看起来像)NStableVIEw,就在窗户的底角,它是圆形的.
如何制作一个普通的NSWindow,底部有适当的圆角?
解决方法 设置的标志,以便让NSWindow将其内容剪辑到其实际的窗口边界(为什么这不是默认值?)是NSVIEw的wantsLayer.>在代码中:contentVIEw!.wantsLayer = true,加载窗口时.
>或者在IB中:选择窗口的根视图,然后在“视图效果检查器”中,选中“核心动画层”中的旁边的框(即使您没有使用核心动画).
Meta:documentation for wantsLayer谈论了许多与窗口形状或剪裁无关的复杂事物,它甚至不是NSWindow的财产,而NSWindow有一些旗帜声称是关于窗口角落但是不再工作,所以我不确定任何人应该发现这个,除非花费2天的时间进行反复试验.我希望这个答案有助于其他人!
以上是内存溢出为你收集整理的macos – 当NSWindow到底是什么时候圆角?全部内容,希望文章能够帮你解决macos – 当NSWindow到底是什么时候圆角?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)