将view剪切为各种形状的view(类似微信聊天图片展示)。

网上有很多这样的文章,但大多都是用贝塞尔曲线画的。这样太耗费cpu了,而且不易于实现。如果角度没控制好,还跟设计不一样。对于初学者,还要花费大量时间去学习贝塞尔曲线的使用。用下面的方法感觉简单粗暴,易于实现。

UIImage *normal = [UIImage imageNamed:@"chatto_bg_normal"];// 这个是最终形状的图片。

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; //这个要被裁剪的view

UIImageView *imageViewMask = [[UIImageView alloc] initWithImage:normal];

    imageViewMask.frame = CGRectInset(imageView.frame, 0.0f, 0.0f);

    imageView.layer.mask = imageViewMask.layer;

    [self.view addSubview:imageView];

 

posted @ 2015-05-06 13:56  轻风&星  阅读(286)  评论(0编辑  收藏  举报