iphone - 仅在 UINavigationBar 底部添加阴影

标签 iphone objective-c ios ipad

我有以下代码:

  self.navigationBar_.layer.shadowColor = [UIColor blackColor].CGColor;
            self.navigationBar_.layer.shadowOpacity = 0.3f;
            self.navigationBar_.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
            self.navigationBar_.layer.shadowRadius = 3.0f;
            self.navigationBar_.layer.masksToBounds = NO;

我基本上只想将边框添加到底部而不是整个矩形。我该怎么做呢?上面的代码也会在左、右、上边框添加阴影。

最佳答案

您可以只使用渐变来代替图层阴影。您可以只使用透明的 PNG 渐变,但这里是一个如何以编程方式执行此操作的示例:

UIView *topShadowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.navigationBar.bounds.size.width, 10)];
CAGradientLayer *topShadow = [CAGradientLayer layer];
topShadow.frame = CGRectMake(0, 0, self.navigationBar.bounds.size.width, 10);
topShadow.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:0.0 alpha:0.25f] CGColor], (id)[[UIColor clearColor] CGColor], nil];
[topShadowView.layer insertSublayer:topShadow atIndex:0];
[self.view addSubview:topShadowView];

关于iphone - 仅在 UINavigationBar 底部添加阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558554/

相关文章:

iphone - iPhone 上的 Bootstrap 模式弹出问题

Mobile Safari 和 Mac 上的 Safari 之间的 Javascript 差异?

iphone - 如何在半圆形图案中绘制点

ios - 分段控件更改tableView数据源

ios - 用 CAShapeLayer 实现绘制渐变圆弧

ios - ios ipa 导出与开发或临时配置文件的区别

ios - 使用带有 CAMediaTimingFunction 的 CADisplayLink 'combined' 为 UIView 设置动画。 (获得任意曲线)

ios - AVAudioPlayer - 为什么循环之间有间隙(未压缩的音频)

iphone - MapKit MKMapView "funny"蓝色光晕崩溃

ios - 如何在对象中声明数组并使用编码存储