背景がぼやけた NSWindow が欲しかったので、SwiftUI macOS アプリケーションで背景をぼかすにはどうすればよいですか? の助けを借りてNSVisualEffectView
、自分で使用するためのラッパーを作成しました。. また、 https://github.com/lukakerr/NSWindowStyles#:~:text=true-,6.%20Vibrant%20background,A,-vibrantを使用して試してみました。ContentView()
NSWindow
struct VisualEffectView: NSViewRepresentable
{
let material: NSVisualEffectView.Material
let blendingMode: NSVisualEffectView.BlendingMode
func makeNSView(context: Context) -> NSVisualEffectView
{
let visualEffectView = NSVisualEffectView()
visualEffectView.material = material
visualEffectView.blendingMode = blendingMode
visualEffectView.state = NSVisualEffectView.State.active
return visualEffectView
}
func updateNSView(_ visualEffectView: NSVisualEffectView, context: Context)
{
visualEffectView.material = material
visualEffectView.blendingMode = blendingMode
}
}
NSWindow
それは機能し、見栄えがしますが、ウィンドウを別の画面に移動し、両方の画面間でウィンドウを一時停止してから、次のウィンドウに移動すると、の影の一部が切り取られます。
画面移動時はこんな感じ⤵︎
このシャドウ チョップが発生しないようにする方法はありますか?
インターフェイス: SwiftUI ライフ
サイクル: Appkit AppDelegate