美文网首页
ios 聊天 气泡 对话框 渐变 不规则框 效果实现

ios 聊天 气泡 对话框 渐变 不规则框 效果实现

作者: 姬拉 | 来源:发表于2016-09-05 19:25 被阅读1129次

    分为自己发送的和别人发送的。

    核心代码是:

    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)互相学习

    相关文章

      网友评论

          本文标题:ios 聊天 气泡 对话框 渐变 不规则框 效果实现

          本文链接:https://www.haomeiwen.com/subject/wagrettx.html