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

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;
}];

生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容