1.頁面或則view置灰的方式,如果是整個App置灰就設置view為window
///1.第一種是給view上添加一個置灰的view
@objc private func addGrayViewOnTop(){
let overlay = UIView.init(frame: stackView.bounds)
overlay.translatesAutoresizingMaskIntoConstraints = false
overlay.backgroundColor = .lightGray
overlay.layer.compositingFilter = "saturationBlendMode"
overlay.isUserInteractionEnabled = false
stackView.addSubview(overlay)
}
///2.用濾鏡的方式 如果需要整個App置灰,就掛在Window上 需要哪里置灰掛在哪里
@objc private func useFilterMethod(){
let color = UIColor.lightGray
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
color.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
guard let filter = CIFilter.init(name: "colorMonochrome") else { return }
filter.setValue([red, green, blue, alpha], forKey: "inputColor")
filter.setValue(0, forKey: "inputBias")
filter.setValue(1, forKey: "inputAmount")
stackView.layer.filters = [filter]
}