我在开发一个主题功能,希望可以实现在用户切换主题后同时更改标题栏的背景图片。
我试过用 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 应用于新创建的实例,你直接设置现有实例的属性就好了。
|