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

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

iOS11新特性——Asset Catalogs中添加Color_第1张图片
image.png

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

iOS11新特性——Asset Catalogs中添加Color_第2张图片
image.png
iOS11新特性——Asset Catalogs中添加Color_第3张图片
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)
iOS11新特性——Asset Catalogs中添加Color_第4张图片
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];

你可能感兴趣的:(iOS11新特性——Asset Catalogs中添加Color)