Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 外观代理重新加载视图_Iphone_Ios_Ipad_Ios5_Appearance - Fatal编程技术网

Iphone 外观代理重新加载视图

Iphone 外观代理重新加载视图,iphone,ios,ipad,ios5,appearance,Iphone,Ios,Ipad,Ios5,Appearance,在iPad中,您可以在一个视图中更改应用程序的外观,该视图是通过模式推送的。但是在选择了一个主题并忽略了视图之后,外观并没有改变。如果我将另一个视图推到全屏,该视图将更新 如何强制更新/刷新/重新绘制外观 编辑 我尝试在任何地方播放setNeedsDisplay,但应用程序没有直接响应。 正如引用所述,一旦循环重新启动,视图就被标记为重新绘制 而且,由于该视图已经加载了modally Push appearance changer视图后面的其他外观,因此不会重新加载该视图。[view setNe

在iPad中,您可以在一个视图中更改应用程序的外观,该视图是通过模式推送的。但是在选择了一个主题并忽略了视图之后,外观并没有改变。如果我将另一个视图推到全屏,该视图将更新

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

编辑

我尝试在任何地方播放setNeedsDisplay,但应用程序没有直接响应。 正如引用所述,一旦循环重新启动,视图就被标记为重新绘制


而且,由于该视图已经加载了modally Push appearance changer视图后面的其他外观,因此不会重新加载该视图。

[view setNeedsDisplay]
通常用于告知该视图需要重新绘制

[view setNeedsLayout]
-layoutSubviews

见:

    • 我很快就修好了

      我只是从一个全屏模式视图开始,在我更改了主题后,我会关闭该视图,因此它后面的视图将被更新


      如果有人有更好的解决方案,我真的很想听听。

      我在改变UISlider外观时或多或少遇到了同样的问题。使用
      [self.view setNeedsDisplay]
      没有效果

      在下面的代码行中,滑块的外观并没有如预期的那样发生变化,但只有在加载和关闭另一个视图之后才会发生变化

      [[UISlider appearance] setMinimumTrackTintColor:[UIColor greenColor]]; 
      
      为每个滑块创建IBOutlets并设置tintcolor(如下所示)达到了预期效果,并立即进行了更改

      [volumeSlider setMinimumTrackTintColor:[UIColor greenColor]];
      [brightnessSlider setMinimumTrackTintColor:[UIColor greenColor]];
      

      是的,我知道,但应用程序没有响应呼叫。它很难看。。。但它是有效的:)我也希望看到更好的解决方案