NSView 在 10.12 不顯示 shadow 問題詳解

在 iOS 上,如果我們要一個 View 顯示陰影,那麼基本上是這麼做的:

不過,到了 macOS 上,這樣就不靈了——沒有任何效果。

答案在於 macOS 上如果你想要給一個 View 使用 layer ,你必須手動標記,比如說這樣:

這下,如果你是 10.13,那麼就萬事大吉了,然後在 10.12 上發現——依舊沒有效果。

這是為什麼呢?在蘋果的官方指南中,我們可以找到答案,說你不應該直接修改 的NSViewlayer 屬性,所以你應該先創建一個 NSShadow() 實例,然後修改它的屬性,最後把它賦值給 的NSView 。比如下面的代碼,才是正確操作:

或者,你也可以簡單一點,先給 layer 一個 陰影 實例,然後再去修改它們即可。

 

本文由 落格博客 原創撰寫:落格博客 » NSView 在 10.12 不顯示 shadow 問題詳解

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/2946.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *