去掉tabbar顶部线条或者navigation底部线条

1.修改tabbar顶部线条

CGRect rect = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

UIGraphicsBeginImageContext(rect.size);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);

CGContextFillRect(context, rect);

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

[self.tabBar setBackgroundImage:img];

[self.tabBar setShadowImage:img];

[self.tabBar setBackgroundImage:[UIImage imageNamed:@"tabbarbg3.jpg"]];

/////////////如果需要不显示分割线,只需要将下面一句话

[self.tabBar setClipsToBounds:YES];

2.修改navigation底部线条

//先定义属性

@property (nonatomic, strong)UIImageView *contentLineImageView;

//试图出现的时候隐藏

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

self.contentLineImageView.hidden = YES;

}

//试图消失的时候出现

- (void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];

self.contentLineImageView.hidden = NO;

}

//在viewdidload里面调用方法

_contentLineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];

self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];

//调用的方法

- (UIImageView *)findHairlineImageViewUnder:(UIView *)view {

if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {

return (UIImageView *)view;

}

for (UIView *subview in view.subviews) {

UIImageView *imageView = [self findHairlineImageViewUnder:subview];

if (imageView) {

return imageView;

}

}

你可能感兴趣的:(去掉tabbar顶部线条或者navigation底部线条)