外观代理重新加载视图

时间:2011-11-04 09:06:49

标签: iphone ios ipad ios5 appearance

在iPad中,您可以在模态推送的视图中更改应用程序的外观。但在选择主题并解除视图后,外观不会改变。如果我全屏推送其他视图,则视图会更新。

如何强制更新/刷新/重绘外观?

修改

我尝试到处播放 setNeedsDisplay ,但应用程序没有直接响应。 如引用所述,一旦循环重新开始,视图就会被标记为重绘。

由于视图已经在模态推送的外观更换器视图后面加载了其他外观,因此不会重新加载。

3 个答案:

答案 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]];