Skip to content

在尚未添加到 window 的 UINavigationController 里修改 navigationBar 可能会导致 navigationBar 样式错误 #1451

@MoLice

Description

@MoLice

Bug 表现
项目里为全局的返回按钮设置了一个图片:
image

某些情况下这个返回按钮的图片会恢复为系统默认的:
image

如何重现

  1. 界面上显示一个 UITabBarController,里面添加多个 vc。
  2. 每个 vc 都实现 qmui_themeDidChangeByManager:identifier:theme: 方法,在里面修改 UINavigationBar 的样式,例如 self.navigationController.navigationBar setBackgroundImage:xxx
  3. 启动 App,不要切换任何界面,直接在默认的第一个 vc 里触发 theme 切换(例如调整系统设置的开关,或者把 App 回到桌面再唤醒)。
  4. 再切到其他 tab,可以观察到这些 tab 的返回按钮被恢复为系统默认的图片。

其他信息

  • QMUI 版本: 4.5.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions