【iOS】TZImagePickerController设置导航栏颜色无效?导航栏颜色总是白色?

一、是否有集成WRNavigationBar?

如有,参考其readme调一下它的wr_setBlackList,把TZImagePickerController相关的控制器放到黑名单里,使得不受WRNavigationBar的影响。WRNavigationBar的黑名单会有不生效的情况,临时解决方案大家可参考:wangrui460/WRNavigationBar#145

二、是否有集成GKNavigationBarViewController?

如有,需要升级到2.0.4及以上版本,详见issue:QuintGao/GKNavigationBarViewController#7

三、没有集成以上库依旧有问题

方案一:参考Demo里的代码,加上imagePickerVc.navigationBar.standardAppearance的相关设置。

方案二:尝试修改demo代码,如下:

if (@available(iOS 13.0, *)) {
    UINavigationBar *navBar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]];
    UINavigationBarAppearance *navBarAppearance = [[UINavigationBarAppearance alloc]init];
    [navBarAppearance setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
    navBarAppearance.backgroundColor = [UIColor colorWithRed:(34/255.0) green:(34/255.0)  blue:(34/255.0) alpha:1.0];
    navBar.scrollEdgeAppearance = navBarAppearance;
    navBar.standardAppearance = navBarAppearance;
} else {
    self.navigationBar.barTintColor = [UIColor colorWithRed:(34/255.0) green:(34/255.0)  blue:(34/255.0) alpha:1.0];
    self.navigationBar.tintColor = [UIColor whiteColor];
}

在这里插入图片描述

- (void)setNaviBgColor:(UIColor *)naviBgColor {
    _naviBgColor = naviBgColor;
    if (@available(iOS 13.0, *)) {
        UINavigationBar *navBar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]];
        UINavigationBarAppearance *navBarAppearance = [[UINavigationBarAppearance alloc]init];
        [navBarAppearance setTitleTextAttributes:@{NSForegroundColorAttributeName:self.naviTitleColor?:[UIColor whiteColor]}];、
        navBarAppearance.backgroundColor = naviBgColor;
        navBar.scrollEdgeAppearance = navBarAppearance;
        navBar.standardAppearance = navBarAppearance;
    } else {
        self.navigationBar.barTintColor = naviBgColor;
    }
}

在这里插入图片描述

- (void)configNaviTitleAppearance {
    NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];
    if (self.naviTitleColor) {
        textAttrs[NSForegroundColorAttributeName] = self.naviTitleColor;
    }
    if (self.naviTitleFont) {
        textAttrs[NSFontAttributeName] = self.naviTitleFont;
    }
    if (@available(iOS 13.0, *)) {
        UINavigationBar *navBar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]];
        UINavigationBarAppearance *navBarAppearance = [[UINavigationBarAppearance alloc]init];
        [navBarAppearance setTitleTextAttributes:textAttrs];
        navBarAppearance.backgroundColor = self.naviBgColor?:[UIColor colorWithRed:(34/255.0) green:(34/255.0)  blue:(34/255.0) alpha:1.0];
        navBar.scrollEdgeAppearance = navBarAppearance;
        navBar.standardAppearance = navBarAppearance;
    } else {
        self.navigationBar.titleTextAttributes = textAttrs;
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值