![](https://img.haomeiwen.com/i1914107/fb251ccb2fcdb7bb.jpg)
简单的一个小思路 ..
利用 [XX appearance]; 属性
![](https://img.haomeiwen.com/i1914107/38cf112c973471fb.gif)
代码 :
- (IBAction)changeClick:(UISegmentedControl *)sender {
[self.view removeFromSuperview];
NSInteger index = sender.selectedSegmentIndex;
if (index == 0) {
[UISwitch appearance].onTintColor = [UIColor redColor];
self.view.backgroundColor = [UIColor purpleColor];
}if (index == 1){
[UISwitch appearance].onTintColor = [UIColor blackColor];
self.view.backgroundColor = [UIColor whiteColor];
}if (index == 2) {
[UISwitch appearance].onTintColor = [UIColor whiteColor];
self.view.backgroundColor = [UIColor lightGrayColor];
}
[[UIApplication sharedApplication].keyWindow addSubview:self.view];
}
说明 :
一键换肤 如果将所有控件一一更改 费时费力,这时可以统一设置它的 [XX appearance]; 属性 可以达到统一修改的目的!
![](https://img.haomeiwen.com/i1914107/07dfe9534cba3701.png)
百度翻译 :
自定义一个类的所有实例的外观,将相关的外观修改消息发送到类的外观代理。例如,修改所有UINavigationBar、实例的颜色吧:
[[UINavigationbar appearance ] setbartintcolor:mycolor ];
网友评论