iOS 最新仿微信气泡实现

最近公司做IM,气泡实现想要用仿造微信,各种词条百度无果,也过期了无法google,但是最后总算找到些苗头http://blog.csdn.net/johnzhjfly/article/details/41175015,在这基础上呈上我的简单实现,希望对你有所帮助。
在这里感谢给了我帮助的博主!!!
先放上效果图吧,否不符合你的口味更直观些:
iOS 最新仿微信气泡实现_第1张图片

关键代码:

- (void)createSubviewToRight:(BOOL)right{
    _maskLayer = nil;
    _contentLayer = nil;
    CGRect  rect = right ?  CGRectMake(0.3, 0.7, 0, 0) : CGRectMake(0.7, 0.7, 0, 0);
    NSString    * iconName = right ? @"icon_bubble_right" : @"icon_bubble_left";
    UIImage * image = [UIImage imageNamed:iconName];

    _maskLayer = [CAShapeLayer layer];
    _maskLayer.frame = self.bounds;
    //关于contentCenter可以参考文章https://www.mgenware.com/blog/?p=489
    _maskLayer.contentsCenter =rect;

    //关于角的大小,一种简单的方法就是使用尺寸比较大的图icon_bubble_right和icon_bubble_left
    _maskLayer.contents = (id)image.CGImage;
    _maskLayer.contentsScale = [UIScreen mainScreen].scale;                 //非常关键设置自动拉伸的效果且不变形

    _contentLayer = [CALayer layer];
    _contentLayer.mask = _maskLayer;
    _contentLayer.frame = self.bounds;
    [self.layer addSublayer:_contentLayer];
}

demo地址:https://github.com/NSSONGMENG/Practice/tree/master/ShapedImageView
大家有什么好用的欢迎给个推荐,之前用红杏,但是从去年出问题之后再用的感觉不太好。

你可能感兴趣的:(iOS)