我在开发一个主题功能,希望可以实现在用户切换主题后同时更改标题栏的背景图片。
我试过用 UINavigationBar.appearance().setBackgroundImage ,但发现图片只能设置一次,第二次再调用,图片还是第一次调用后的图片。
这是 iOS 的限制吗?还是我哪里没做对?
![]() | 1 Building 2021-12-26 19:13:58 +08:00 via iPhone 如果要比较方便的客制化,建议自己实现 navigation bar ,因为这个小东西,从 iOS 7 开始,每年一个新变化呢。 |
2 okakuyang 2021-12-27 16:06:31 +08:00 NavigationController 现在有几种样式呢,大标题样式还会在几种状态上切换,你可以在上面新增一个 view ,控制这个 view 的背景来改变样式。 |
3 okakuyang 2021-12-27 16:06:48 +08:00 navigationController?.navigationBar.setBackgroundImage( UIImage(named: "bg"), for: .default ) |
4 reallittoma OP @okakuyang #2 新增一个 view 的话,能不能覆盖到状态栏? |
5 okakuyang 2021-12-28 08:59:45 +08:00 @reallittoma 可以 |
![]() | 6 BB9z 2021-12-31 20:14:47 +08:00 UIAppearance 应用于新创建的实例,你直接设置现有实例的属性就好了。 |