iOS导航栏全透明 无效 上面多了一层蒙版

2020-05-15  本文已影响0人  马威明

iOS 我在设置导航栏透明的时候 会多出一层白色蒙板 网上资料大部分是这样说的:

[self.navigationController.navigationBar.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        if ([obj isKindOfClass:NSClassFromString(@"_UIBarBackground")]||[obj isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) {
            obj.hidden = YES;
            obj.alpha = 0;
        }
}];

这种方法对我无效 打开时图预览层发现 白色蒙板是覆盖在_UIBarBackground视图上面UIView类型的子视图 所以我尝试了以下方法设置透明:

self.naviView = [self.navigationController.navigationBar.subviews firstObject];
[self.naviView.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        obj.hidden = YES;
        obj.alpha = 0;
}];

生效。

上一篇 下一篇

猜你喜欢

热点阅读