it is working if you add this func _setValue<T>(_ value: T, forKey key: Key) { blurEffect.setValue(value, forKeyPath: key.rawValue) if #available(iOS 14, *) { } else { self.effect = blurEffect } }