Я добавляю пользовательский UIVisualEffectView ко всей панели навигации и устанавливаю его в качестве фона. Я вставляю подпредставление в 0 и отправляю его обратно, но заголовок и элементы навигации по-прежнему находятся позади вида.
Я бы добавил изображение для справки, но это просто белый размытый фон и Вы можете смутно увидеть название за ним.
func setupNav() {
guard let navController = navigationController else { return }
navController.tabBarItem = UITabBarItem(title: "", image: image.withRenderingMode(.alwaysTemplate), tag: tag)
navController.navigationBar.prefersLargeTitles = true
navController.navigationBar.barTintColor = .none
navController.navigationBar.isTranslucent = true
navController.navigationBar.shadowImage = UIImage()
navController.navigationBar.setBackgroundImage(UIImage(), for: .default)
navController.navigationBar.topItem?.title = "Browse"
navController.navigationBar.titleTextAttributes = [.font: UIFont.customHeaderFont(size: 23), .foregroundColor: UIColor.textColor()]
navController.navigationBar.largeTitleTextAttributes = [.font: UIFont.customHeaderFont(size: 30), .foregroundColor: UIColor.textColor()]
navController.navigationItem.hidesSearchBarWhenScrolling = false
let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .extraLight))
navigationBar.insertSubview(blurView, at: 0)
navigationBar.sendSubviewToBack(blurView)
blurView.anchor(top: navigationBar.topAnchor, left: navigationBar.leftAnchor, bottom: navigationBar.bottomAnchor, right: navigationBar.rightAnchor, paddingTop: -60, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: 0, height: 0)
}