1

背景がぼやけた 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

4

1 に答える 1