Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ios 15下 适配导航栏 返回按钮变成蓝色 #1309

Closed
coderDeviCheng opened this issue Oct 2, 2021 · 5 comments
Closed

ios 15下 适配导航栏 返回按钮变成蓝色 #1309

coderDeviCheng opened this issue Oct 2, 2021 · 5 comments

Comments

@coderDeviCheng
Copy link

Bug 表现
ios 15下 按以下方式适配导航栏 返回按钮变成蓝色
if (@available(iOS 13.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
appearance.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular];
self.navigationBar.scrollEdgeAppearance = appearance;
}

截图
Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图

WeChat5d9ed79d5dd7248b049fe81e6b84a950

如何重现

  1. 更新到iOS15
  2. 按上面说的方法在QMUINavigationController的子类里面加入代码

预期的表现
返回按钮颜色正常

其他信息

  • 设备: [例如模拟器、iPhone13Pro max]
  • iOS 版本: [iOS 15]
  • Xcode 版本: [Xcode 13]
  • QMUI 版本: [4.x.x]
@coderDeviCheng
Copy link
Author

没人遇到过吗 你们怎么适配的?

@jiasongs
Copy link

jiasongs commented Oct 10, 2021

我提供一个临时解决方案吧,这个方案「不正规」,但是能解决问题,如下
UINavigationBar:
图片
UITabBar:
图片
注意:
不用改动QMUI源码,只建议临时需要xcode 13打包的同学使用,不建议长期使用,说不定后面的SDK又改动了什么。正确的解决方案还是需要配置下standardAppearance等设置。

@qianlishun
Copy link

self.navigationBar.tintColor = [UIColor blackColor]; // 你要的颜色

@CoderZbf
Copy link

我提供一个临时解决方案吧,这个方案「不正规」,但是能解决问题,如下 UINavigationBar: 图片 UITabBar: 图片 注意: 不用改动QMUI源码,只建议临时需要xcode 13打包的同学使用,不建议长期使用,说不定后面的SDK又改动了什么。正确的解决方案还是需要配置下standardAppearance等设置。

你好 我这么设置怎么还是那样呢

@MoLice
Copy link
Collaborator

MoLice commented Nov 28, 2021

Bug 表现 ios 15下 按以下方式适配导航栏 返回按钮变成蓝色 if (@available(iOS 13.0, *)) { UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; appearance.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular]; self.navigationBar.scrollEdgeAppearance = appearance; }

截图 Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图

WeChat5d9ed79d5dd7248b049fe81e6b84a950

如何重现

  1. 更新到iOS15
  2. 按上面说的方法在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 配置表设置。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants