navigationController和tabBarController里的边框黑线其实是他们SubViews的一个ImageView。
1、去掉NavigationController里面的黑线
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
NSArray *list=self.navigationController.navigationBar.subviews;
for (id obj in list) {
if ([obj isKindOfClass:[UIImageView class]]) {
UIImageView *imageView=(UIImageView *)obj;
NSArray *list2=imageView.subviews;
for (id obj2 in list2) {
if ([obj2 isKindOfClass:[UIImageView class]]) {
UIImageView *imageView2=(UIImageView *)obj2;
imageView2.hidden=YES;
}
}
}
}
}
2、自定义 navigationController和tabBarController里的边框 线条
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:mrOrginTwoColor cornerRadius:0] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageWithColor:mrOrginTwoColor cornerRadius:0]];
[self.navigationController.navigationBar setShadowImage:[UIImage imageWithColor:mrOrginTwoColor cornerRadius:0]];
[self.tabBarController.tabBar setBackgroundImage:[UIImage imageWithColor:mrOrginTwoColor cornerRadius:0]];
[self.tabBarController.tabBar setShadowImage:[UIImage imageWithColor:mrOrginTwoColor cornerRadius:0]];
方法写到ViewWillAppear里面,在视图加载完毕之后才有效。
站在巨人的肩膀上,我们才能看的更远!