2015-08-27 4 views
-1

Я пытаюсь добавить тень к панели навигации, как в Google Plus приложениеIOS UINavigation Bar Drop Shadow

enter image description here

Я добавляю белый фон для панели навигации с

[[UINavigationBar appearance] setBackgroundImage:whiteImage 
            forBarPosition:UIBarPositionAny 
             barMetrics:UIBarMetricsDefault]; 

Где whiteImage генерируется с

UIGraphicsBeginImageContextWithOptions(1, YES, 0.0); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(context, [color CGColor]); 
CGContextFillRect(context, CGRectMake(0.0, 0.0, 1, 1));  
UIImage *whiteImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

B ut не может найти способ добавить изображение правой тени с помощью

[[UINavigationBar appearance] setShadowImage:shadowImage]]; 

Любая идея, как добиться такого эффекта?

+0

Это довольно просто; вы могли бы показать код, с помощью которого вы создаете 'shadowImage'? – matt

+0

Я не знаю, какое изображение нужно создать для этого. –

+0

Простой образ 1x4. Изображение будет растянуто по ширине экрана для вас. Попробуйте его с черным изображением 1x4, а затем поиграйте с ним. – matt

ответ

1

Возможно, вы забыли установить навигационную панель clipsToBounds на NO. Это важно, потому что иначе теневое изображение просто вырезано.