ios 聊天 氣泡 對話框 漸變 不規則框 效果實現

分為自己發送的和別人發送的。

核心代碼是:

UIImage*bubble = [UIImageimageNamed:isme?@"chatbubbleblue":@"chatbubblewhite"];

bubble=[bubblestretchableImageWithLeftCapWidth:isme?22:30topCapHeight:20];

(拉伸圖片)


```

- (void)creatui:(BOOL)isme

{

//基本試圖

UIView*content=[[UIViewalloc]initWithFrame:CGRectMake(58,0,WIDTH-58-50,100)];

[selfaddSubview:content];

UITextView*text = [[UITextViewalloc]initWithFrame:CGRectMake(10,0,WIDTH-58-50-26,100)];

text.text=@"大家好我叫基拉大家好我叫基拉a大家好我叫基拉a大家好我叫基拉a大家好我叫基拉aa";

text.font=FONT_S(32);

text.textColor=[UIColorwhiteColor];

text.backgroundColor=[UIColorclearColor];

[contentaddSubview:text];

//漸變

if(isme) {

CAGradientLayer*gradient = [CAGradientLayerlayer];

gradient.frame= (CGRect){{0,0},content.layer.frame.size};

gradient.colors= [NSArrayarrayWithObjects:(id)RGBCOLOR(77,177,251).CGColor,(id)RGBCOLOR(48,150,249).CGColor,nil];

[content.layerinsertSublayer:gradientatIndex:0];

}else{

content.backgroundColor=[UIColorwhiteColor];

text.textColor=[UIColorblackColor];

CGRectframe=text.frame;

frame.origin.x=20;

text.frame=frame;

}

UIImageView*ImageView = [[UIImageViewalloc]initWithFrame:content.frame];

UIImage*bubble = [UIImageimageNamed:isme?@"chatbubbleblue":@"chatbubblewhite"];

bubble=[bubblestretchableImageWithLeftCapWidth:isme?22:30topCapHeight:20];

ImageView.image=bubble;

CALayer*layer= ImageView.layer;

layer.frame= (CGRect){{0,0},ImageView.layer.frame.size};

content.layer.mask= layer;

[contentsetNeedsDisplay];

}

```

本人 課余喜歡研究? object pascal ,object c ,java,玩些 c# 。歡迎廣大IT男加群 (367276878)互相學習

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容