//navigationBar
[self.navigationController.navigationBar setBackgroundImage:[self imageWithColor:[UIColor clearColor] size:CGSizeMake(self.view.frame.size.width, 0.5)]; forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[self imageWithColor:[UIColor redColor] size:CGSizeMake(winWidth, 0.5)]];
//tabBar
[self.tabbarViewController.tabBar setBackgroundImage:[self imageWithColor:[UIColor clearColor] size:CGSizeMake(self.view.frame.size.width, 0.5)];
[self.tabbarViewController.tabBar setShadowImage:[self imageWithColor:[UIColor redColor] size:CGSizeMake(WinWidth,0.5)]];
注意要同时设置setBackgroundImage和setShadowImage才有效果
- (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size {
if (!color || size.width <=0 || size.height <=0) return nil;
CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
UIGraphicsBeginImageContextWithOptions(rect.size,NO, 0);
CGContextRef context =UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, color.CGColor);
CGContextFillRect(context, rect);
UIImage *image =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
网友评论