微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 如何在Xcode中定义颜色方案

我想为我的iOS项目定义一个配色方案,以便更换一些颜色.假设我有一个“主”颜色和一个“辅助”颜色,在我的应用程序中的许多元素中使用,并且在将来我可能想要将“主”颜色设置为它当前具有的任何其他值.

到目前为止,我一直在使用自定义UIColor类别来定义和使用代码中的颜色,并创建具有相同颜色的调色板,以便在IB和Storyboard中使用它.

这样,替换代码中的颜色非常简单,但在IB和Storyboard中执行它是如此痛苦……我找不到一种简单的方法来查找/替换颜色.

我怎么能设法做到这一点?我愿意接受任何建议.先感谢您

编辑1:也许这个问题不够明确.我想创建一个方案,例如我可以在代码和IB中使用它,但是只定义颜色一次,并且能够以在代码和IB中引用的颜色相应地改变颜色的方式切换颜色.

解决方法

您可以选择循环在父视图中添加的子视图.并且可以定义一组要更改颜色的元素.

所以你的代码可能如下所示

-(void)defineColors:(UIView *)parent{

    for(UIView *view in parent.subviews){

      if(view.tag == TAG1){
        [self setColor:COLOR1 forControl:view];
      }else if(view.tag == TAG2){
        [self setColor:COLOR2 forControl:view];
      }

    }

}

-(void)setColor:(UIColor *)color forControl:(UIView *)control{

      if([control isKindOfClass:[UILabel class]]){
                [(UILabel *)view setBackgroundColor:color];
      }else if([control isKindOfClass:[UITextField class]]){
                [(UITextField *)view setTextColor:color];
      }

      //So on..


}

我希望它有所帮助.

干杯.

代码已更新

您可以选择为要分配特定颜色的控件定义标记集,然后相应地设置颜色.

更新2

根据您编辑的问题,您可以拥有一个独立的xib,您可以在其中添加不同的小UIView,并且可以从xib定义颜色.为不同的观点创建出口.然后在AppDelegate中加载nib以获取您想要使用应用程序的不同颜色,并且可以将它们保存到Singleton类中,以便您可以随时获取它们而无需多次初始化.

原文地址:https://www.jb51.cc/iOS/334070.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐