Closed coderDeviCheng closed 2 years ago
没人遇到过吗 你们怎么适配的?
我提供一个临时解决方案吧,这个方案「不正规」,但是能解决问题,如下 UINavigationBar:
UITabBar:
注意: 不用改动QMUI源码,只建议临时需要xcode 13打包的同学使用,不建议长期使用,说不定后面的SDK又改动了什么。正确的解决方案还是需要配置下standardAppearance等设置。
self.navigationBar.tintColor = [UIColor blackColor]; // 你要的颜色
我提供一个临时解决方案吧,这个方案「不正规」,但是能解决问题,如下 UINavigationBar: UITabBar: 注意: 不用改动QMUI源码,只建议临时需要xcode 13打包的同学使用,不建议长期使用,说不定后面的SDK又改动了什么。正确的解决方案还是需要配置下standardAppearance等设置。
你好 我这么设置怎么还是那样呢
Bug 表现 ios 15下 按以下方式适配导航栏 返回按钮变成蓝色 if (@available(iOS 13.0, )) { UINavigationBarAppearance appearance = [[UINavigationBarAppearance alloc] init]; appearance.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular]; self.navigationBar.scrollEdgeAppearance = appearance; }
截图 Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图
如何重现
- 更新到iOS15
- 按上面说的方法在QMUINavigationController的子类里面加入代码
预期的表现 返回按钮颜色正常
其他信息
- 设备: [例如模拟器、iPhone13Pro max]
- iOS 版本: [iOS 15]
- Xcode 版本: [Xcode 13]
- QMUI 版本: [4.x.x]
你这样的写法,得到这样的运行效果,是符合预期的。因为 new 出来的 UINavigationBarAppearance 你没有设置它的 backButtonAppearance
,所以默认就是系统的蓝色。
要么正确使用 iOS 13 系统的接口,要么跟 @qianlishun 说的一样,自己再补一个 tintColor
,要么等 QMUI 4.4.0 发布,业务不要自己修改,而是通过 QMUI 配置表设置。
Bug 表现 ios 15下 按以下方式适配导航栏 返回按钮变成蓝色 if (@available(iOS 13.0, )) { UINavigationBarAppearance appearance = [[UINavigationBarAppearance alloc] init]; appearance.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular]; self.navigationBar.scrollEdgeAppearance = appearance; }
截图 Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图
如何重现
预期的表现 返回按钮颜色正常
其他信息