2015-05-02 4 views
3

По умолчанию UINavigationBar (и это, как представляется, действует и для UITabBar) имеет эффект размытия и окрашен в белый цвет (с некоторой прозрачностью).Прозрачный UINavigationBar, но с размытием

Что бы я хотел иметь, это полностью прозрачная (не прозрачная!) Панель, и сохраняйте размытость того, что стоит за ней. Вот макет:

Если я пытаюсь установить пользовательский бар оттенок цвета, как это:
[[UINavigationBar appearance] setBarTintColor:someColorWithAlphaLessThanOne];
бар, однако, быть окрашен с цветом точно таким же значением RGB, но альфа вынуждены 1 Другими словами, бар будет непрозрачным.

Если я установил фоновое изображение навигационной панели на новый UIImage, тогда он будет полностью прозрачным, но не будет иметь эффект размытия.

Как удалить белый оттенок и сохранить размытие?

+0

Предположим, что это _not_ панель навигации. Вы знаете, как сделать размытие, как тот, который вы хотите? – matt

+0

На iOS 8, да, я делаю. Использование 'UIVisualEffect'. На iOS 7 мне, вероятно, понадобится нечто вроде FXBlurView, но я не уверен, что могу добиться полного эффекта прозрачности с любым из них. – Guilherme

+0

Хорошо, поэтому размытие UIVisualEffect приемлемо. Это то, что я хотел знать. Итак, почему бы не использовать полностью прозрачную панель UINavigation, а за ней следует размытие UIVisualEffect? – matt

ответ

0

Я бы попытался использовать обычную UIView для панели навигации и скрыть фактическую панель навигации. Затем вы можете размыть либо скриншотом, либо используя UIVisualEffect, или LFGlassView (если вы хотите также поддерживать iOS 7)

Смежные вопросы