在我们设置导航栏透明之后,会在导航栏的位置出现一条黑线,怎样去除这条黑线呢。就用到了下面的递归方法
-(void)getBackView:(UIView*)superView
{
if ([superView isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")])
{
//移除分割线
for (UIView *view in superView.subviews)
{
if ([view isKindOfClass:[UIImageView class]])
{
[view removeFromSuperview];
}
}
// _navBackView = superView;
// //在这里可设置背景色
// _navBackView.backgroundColor = [UIColor orangeColor];
}
else if ([superView isKindOfClass:NSClassFromString(@"_UIBackdropView")])
{
//_UIBackdropEffectView是_UIBackdropView的子视图,这是只需隐藏父视图即可
superView.hidden = YES;
}
for (UIView *view in superView.subviews)
{
[self getBackView:view];
}
}
我们在viewDidLoad里面调用就可以了
网友评论