1. 程式人生 > >iOS 最新仿微信氣泡實現

iOS 最新仿微信氣泡實現

最近公司做IM,氣泡實現想要用仿造微信,各種詞條百度無果,vpn也過期了無法google,但是最後總算找到些苗頭http://blog.csdn.net/johnzhjfly/article/details/41175015,在這基礎上呈上我的簡單實現,希望對你有所幫助。
在這裡感謝給了我幫助的博主!!!
先放上效果圖吧,否不符合你的口味更直觀些:
這裡寫圖片描述

關鍵程式碼:

- (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]; }