2014-09-13 3 views
1

В навигационных панелях iOS 7 есть эффект размытия для содержимого, прокручиваемого снизу. Я хотел бы, чтобы моя навигационная панель должна быть прозрачной, что достигается следующим образом:Прозрачная панель навигации, но сохраняйте iOS Blur

[[UINavigationBar appearance] setBarStyle:UIBarStyleDefault]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; 
[[UINavigationBar appearance] setShadowImage:[UIImage new]]; 
[[UINavigationBar appearance] setBackgroundColor:[UIColor clearColor]]; 

Но я хотел бы содержание к стиранию, а также. Я попробовал следующее без везения:

[[UINavigationBar appearance] setBarTintColor:[UIColor clearColor]]; 
     [[UINavigationBar appearance] setBarStyle:UIBarStyleDefault]; 
     [[UINavigationBar appearance] setShadowImage:[UIImage new]]; 
     [[UINavigationBar appearance] setBackgroundColor:[UIColor clearColor]]; 

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

Я просмотрел несколько вопросов, но мне это не помогают. Они отвечают, как получить completely transparent navbar или get a certain colour, когда все, что я хочу, должно быть прозрачным/прозрачным, без какого-либо цветового оттенка.

Как мне это достичь? Спасибо за любую помощь, это оценено!

ответ

0

Сделайте его полупрозрачным.

Подкласс, и добавить код -

- (id)initWithRootViewController:(UIViewController *)rootViewController 
{ 
    if (self = [super initWithRootViewController:rootViewController]) { 
     self.navigationBar.translucent = YES; 
    } 
    return self; 
} 
0

Попробуйте это, она основана на размытый прозрачности ToolBar, вы можете также добавить цвет к этой строке: Это решение хорошо для вас нужно iOS7

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
               forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
self.navigationController.view.backgroundColor = [UIColor clearColor]; 
UIToolbar* blurredView = [[UIToolbar alloc] initWithFrame:self.navigationController.navigationBar.bounds]; 
[blurredView setBarStyle:UIBarStyleBlack]; 
[self.navigationController.navigationBar insertSubview:blurredView atIndex:0]; 
Смежные вопросы