2015-02-17 3 views
0

Наш дизайнер хочет, чтобы панель навигации имела тот же цвет фона, что и вид. Однако они также хотят, чтобы навигационная панель оставалась прозрачной.Навигационная панель того же цвета bg, что и вид

Очевидно, что если я установить его не-полупрозрачными работает лакомство:

[[UINavigationBar appearance] setTranslucent:NO];

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

Это то, что он выглядит, когда мы устанавливаем навигации и вид того же цвета:

image

+1

Мне что-то не хватает? не можете ли вы установить цвет на '[UIColor clearColor]' ?? –

+0

К сожалению, нет. – cjhill

+0

почему? он должен быть прозрачным и тем же цветом .... в чем разница? –

ответ

1
Try this code  

[self.navigationController.navigationBar setBarTintColor:[UIColor backgroundcolor]]; 
    [self.navigationController.navigationBar setTranslucent:NO]; 
+0

Предложение №2 в вопросе четко гласит: «Тем не менее, они также хотят, чтобы панель навигации оставалась полупрозрачной». – Stonz2

1

Просто установите пустое изображение для фона и тени:

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
+0

Это не сработает, так как оно удалит прозрачность. – cjhill

0

Используйте этот код, чтобы он работал

[self.navigationController.navigationBar setBarTintColor:self.view.backgroundColor]; 
[self.navigationController.navigationBar setTranslucent:NO]; 
-1

Я думаю, что следующий фрагмент кода поможет вам достичь этого.

[[UINavigationBar appearance]setBarTintColor:[UIColor colorWithRed:0.04 green:0.38 blue:0.95 alpha:1.0]]; 

    [[UINavigationBar appearance]setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}]; 
    [[UIBarButtonItem appearance]setTintColor:[UIColor colorWithRed:1.00 green:1.00 blue:1.00 alpha:1.0]]; 

    [[UINavigationBar appearance]setTintColor:[UIColor whiteColor]]; 

Вы также можете использовать цвет из кода RGB или из шестнадцатеричного.

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