0
我创建了一个配置管理器来更新UI设置而无需重新启动。大多数设置你可以强制重画,但它似乎更多限制与标签栏。Swift:动态刷新选项卡栏背景颜色
我用下面的内我UITabBarController
更新标签栏时,我收到了配置变更通知(注:这可能是viewDidLoad
之后的任何时间):
self.tabBar.backgroundColor = tabBarBackgroundColour
这不更新的颜色,而是5只后约-10秒。
我试过各种方法来强制更新使用setNeedsLayout
和setNeedsDisplay
在标签栏和视图,但没有一个工作。
self.tabBar.setNeedsLayout()
self.tabBar.setNeedsDisplay()
或
self.view.setNeedsLayout()
self.view.setNeedsDisplay()
我也试着更新个人标签栏项目,我看到更新的图像时,其他人都有过类似的问题,但无济于事。
你确定你正在更新主线程的颜色吗?我记得,如果你从后台线程更新UI,它有时会延迟绘制... – JohnnyAW