iOS CALayer contentsRect实现图片裁剪

  还记得小时的九宫格拼图吗?在做斗地主时,有张大图,如何切成小图。
  作为一个iOS开发者,你会如何实现呢?你会让美工给你图片切成九份来做九宫格拼图吗?你会把扑克牌切成54张来做斗地主吗?
  先来看下实现效果吧!


puke.jpg

代码切图

  和 bounds , frame 不同, contentsRect 不是按点来计算的,它使用了单位坐标,单位坐标指定在0到1之间,是一个相对值。

代码实现:

@interface CAlayerContentsRectViewController ()
@property (nonatomic,strong) IBOutletCollection(UIView) NSArray * layerViews;
@end

@implementation CAlayerContentsRectViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    UIImage * image = [UIImage imageNamed:@"puke"];
    
    
    for (int i = 0;i

拼合不仅给app提供了一个整洁的载入方式,还有效地提高了载入性能(单张大图
比多张小图载入地更快)

1.对于一类图,可以采用图片拼合,简单使用。还可优化内存,减少美工工作量。当然如果你采用CALayer的contents属性设置背景图,此方法也许能够为你解决图片拉伸方式的问题。
2.苹果的CALayer的强大远超想象,想深入了解动画,请移步<>。当然九宫格拼图,读者可自行实现。附上Demo。
3.有任何问题欢迎留言评论。

你可能感兴趣的:(iOS CALayer contentsRect实现图片裁剪)