美文网首页iOS 工程构造iOS DeveloperiOS常用
iOS11新特性——Asset Catalogs中添加Color

iOS11新特性——Asset Catalogs中添加Color

作者: 爱抽烟的芭比 | 来源:发表于2017-06-20 16:46 被阅读1115次

    iOS11之后,我们不止可以在Asset Catalogs中添加图片,还可以在其中添加Color。
    点击"New Color Set"之后,我们便可以设置颜色的Asset Catalogs:

    image.png

    目前Xcode提供多种选择颜色的方案,使用起来非常方便:

    image.png image.png

    之后,我们在代码中便可以很方便的使用Asset Catalogs中定义的Color:

    //Objective-C
    if (@available(iOS 11.0, *)) {
            self.view.backgroundColor = [UIColor colorNamed:@"grass"];
        } else {
            // Fallback on earlier versions
            self.view.backgroundColor = [UIColor redColor];
        }
    
    //swift
    view.backgroundColor = UIColor(named:"grass")
    

    另外,在Xcode9中提供“基于矢量的 asset”的支持。、
    在之前的Xcode中,添加 image asset 的时候,我们可以添加pdf格式的。但Xcode只是把@1x,@2x,@3x资源提供给app包,而不是矢量图。
    在Xcode9中,提供了一个新的选项叫做"Preserve Vector Data"

    image.png

    这样的话,当我们在代码中加载图像的时候,如果我们让它显示的尺寸比它本身尺寸大的话,系统在运行时会自动把它放大。
    也就是说,在系统渲染图片时,不会有任何的质量损失:

    //swift
    let normal  = UIImageView(image: UIImage(named: "cocoapod"))
    normal.tintColor = UIColor(named: "covfefe")
    
    view.addSubview(normal)
    
    let big  = UIImageView(image: UIImage(named: "cocoapod"))
    big.tintColor = UIColor(named: "cream")
    big.frame = CGRect(x: 50, y: 200, width: normal.bounds.size.width * 2, height: normal.bounds.size.height * 2)
    
    view.addSubview(big)
    
    image.png
    //Objective-c
    UIImageView *normal = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"cluck"]];
    normal.center = CGPointMake(100, 150);
        
    [self.view addSubview:normal];
        
    UIImageView *big = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"cluck"]];
    big.frame = CGRectMake(50, 250, normal.bounds.size.width * 2, normal.bounds.size.height * 2);
    [self.view addSubview:big];
    

    相关文章

      网友评论

      • EdLiya:该特性只能适配到iOS 11以后吧,
      • 魔法猛男:namedColor 在11以下的target下 会崩毁 您有试过
        爱抽烟的芭比:@魔法猛男 11以下没有这个方法
      • Miles_miles:谢谢,keynote上看了下,没有细究还不知道具体是啥样

      本文标题:iOS11新特性——Asset Catalogs中添加Color

      本文链接:https://www.haomeiwen.com/subject/jwfaqxtx.html