尝试按照here概述的方法为我的UINavigationController添加阴影。但是,该方法似乎不起作用。
以下是我正在使用的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// ..... etc. ....
self.navigationController.view.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.navigationController.view.bounds cornerRadius:self.navigationController.view.layer.cornerRadius].CGPath;
[self.navigationController.view.layer setMasksToBounds: NO];
[self.navigationController.view.layer setShadowColor: [UIColor blackColor].CGColor];
[self.navigationController.view.layer setShadowOffset: CGSizeMake(0, 1)];
[self.navigationController.view.layer setShadowRadius:3];
[self.navigationController.view.layer setShadowRadius: 4.0];
[self.navigationController.view.layer setShadowOpacity: 0.25];
没有影子:((见图)。
任何想法为什么?感谢您的任何意见。
答案 0 :(得分:1)
这对我有用:尝试将您设置的任何内容设置为导航栏而不是导航控制器: r
self.nvBar.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.nvBar.bounds cornerRadius:self.nvBar.layer.cornerRadius].CGPath;
[self.nvBar.layer setShadowColor: [UIColor redColor].CGColor];
[self.nvBar.layer setShadowOffset: CGSizeMake(0, 13)];
[self.nvBar.layer setShadowRadius:3];
[self.nvBar.layer setShadowRadius: 4.0];
[self.nvBar.layer setShadowOpacity: 0.15];