在iPad中,您可以在模态推送的视图中更改应用程序的外观。但在选择主题并解除视图后,外观不会改变。如果我全屏推送其他视图,则视图会更新。
如何强制更新/刷新/重绘外观?
修改
我尝试到处播放 setNeedsDisplay ,但应用程序没有直接响应。 如引用所述,一旦循环重新开始,视图就会被标记为重绘。
由于视图已经在模态推送的外观更换器视图后面加载了其他外观,因此不会重新加载。
答案 0 :(得分:2)
我快速修复了它。
我刚开始使用全屏模式视图,在我更改主题后,我关闭了视图,因此后面的视图将会更新。
如果有人有更好的解决方案,我真的很想听听。
答案 1 :(得分:0)
[view setNeedsDisplay]
通常用于告诉视图需要重绘。
[view setNeedsLayout]
与-layoutSubviews
请参阅:
答案 2 :(得分:0)
我或多或少地改变了UISliders的外观。使用[self.view setNeedsDisplay]
无效。
使用下面的代码行,滑块的外观没有按预期更改,但只有在其他视图加载和解除后才会更改。
[[UISlider appearance] setMinimumTrackTintColor:[UIColor greenColor]];
为每个滑块创建IBOutlets并设置如下所示的tintcolor具有所需的效果,并立即进行更改。
[volumeSlider setMinimumTrackTintColor:[UIColor greenColor]];
[brightnessSlider setMinimumTrackTintColor:[UIColor greenColor]];