iOS - 换肤初体验

iOS - 换肤初体验_第1张图片
MJ.jpg

简单的一个小思路 ..
利用 [XX appearance]; 属性

iOS - 换肤初体验_第2张图片
Untitled1.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]; 属性 可以达到统一修改的目的!

iOS - 换肤初体验_第3张图片
QQ20160909-0.png

百度翻译 :
自定义一个类的所有实例的外观,将相关的外观修改消息发送到类的外观代理。例如,修改所有UINavigationBar、实例的颜色吧:
[[UINavigationbar appearance ] setbartintcolor:mycolor ];

你可能感兴趣的:(iOS - 换肤初体验)