2017-12-23 26 views
-1

나는 다음 코드를 사용하여 상태 표시 줄에 흐림 효과를 추가하는 데 사용 :경고없이 iOS 11의 상태 표시 줄에 흐림 효과를 추가하는 방법은 무엇입니까?

// Add blur effect on status bar 
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight) 
let blurEffectView = UIVisualEffectView(effect: blurEffect) 
blurEffectView.translatesAutoresizingMaskIntoConstraints = false 
view.addSubview(blurEffectView) 
blurEffectView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true 
blurEffectView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true 
blurEffectView.topAnchor.constraint(equalTo: self.topLayoutGuide.topAnchor).isActive = true 
blurEffectView.bottomAnchor.constraint(equalTo: self.topLayoutGuide.bottomAnchor).isActive = true 

그것은, 엑스 코드 6 또는 7 년부터 작동 있긴하지만, 엑스 코드 (9)에 대해, 마지막 두 줄은 엑스 코드 (9) 이후 경고를 시작 :

'topLayoutGuide' was deprecated in iOS 11.0: Use view.safeAreaLayoutGuide.topAnchor instead of topLayoutGuide.bottomAnchor 

경고에 따라 topLayoutGuide을 제안 된 값으로 변경하면 결과가 올바르지 않습니다 (모든 화면이 비어 있음).

경고없이 iOS 11의 상태 표시 줄에 흐림 효과를 올바르게 추가하는 방법은 무엇입니까?

답변

1
blurEffectView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true 
blurEffectView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true 
blurEffectView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true 
blurEffectView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true