Có thể điều chỉnh bán kính mờ và độ trong suốt của NSVisualEffectView
khi nó được áp dụng cho NSWindow
(Swift hoặc Objective-C) không? Tôi đã thử tất cả các biến thể của NSVisualEffectMaterial
(tối, trung bình, ánh sáng) - nhưng điều đó không cắt nó. Trong hình bên dưới, tôi đã sử dụng API không công khai của Apple với CGSSetWindowBackgroundBlurRadius
ở bên trái và NSVisualEffectView
ở bên phải.Điều chỉnh bán kính mờ NSVisualEffectView và độ trong suốt
Tôi đang cố gắng để đạt được cái nhìn về những gì ở bên trái, nhưng có vẻ như tôi xuống hạng để sử dụng các phương pháp bên phải.
Dưới đây là mã của tôi:
blurView.blendingMode = NSVisualEffectBlendingMode.BehindWindow
blurView.material = NSVisualEffectMaterial.Medium
blurView.state = NSVisualEffectState.Active
self.window!.contentView!.addSubview(blurView)
Có thể, liên quan - nhưng không trả lời câu hỏi của tôi:
- OS X NSVisualEffect decrease blur radius? - không có câu trả lời
Xin chào, cảm ơn câu trả lời nhưng tiếc là điều này dường như không điều chỉnh độ trong suốt. –
Ví dụ này là dành cho trong cửa sổ làm mờ, vì vậy bạn có thể cần phải poke xung quanh các hệ thống phân cấp lớp để có được lớp cụ thể mà bạn muốn. Đặt một điểm ngắt trong 'updateLayer' và liên tục gọi' po self.layer.sublayers' để xem những gì bạn cần tìm kiếm trong chế độ xem hiệu ứng hình ảnh của bạn. Thuận tiện, hầu hết các lớp được đặt tên, vì vậy bạn có thể đi sâu vào từng chút một như thế. Tôi tin rằng có một lớp khác gọi là 'Tint' điều khiển tông màu. –