美文网首页
stretchableImageWithLeftCapWidth

stretchableImageWithLeftCapWidth

作者: 请叫我魔法师 | 来源:发表于2017-07-17 10:48 被阅读0次

    这个方法经常用到拉伸图片,保证看起来图片不变形。比如聊天的气泡、或者图片带有边框图案,为了适配屏幕,保证边框不变形。
    PS:看网上好多人讲,都是简单一句话,图片确实拉伸了,但是拉伸的部分我也不清楚,虽然目的达到了,用的也是迷迷糊糊。自己就记录一下,权当给自己加深一下印象了。好记性不如烂笔头。

    QQ20170717-111114.png
        UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(10, 70, 80, 80)];
        iv.image = [UIImage imageNamed:@"1111"];
        
        UIImage *iamge = [UIImage imageNamed:@"1111"];
        UIImageView *iv2 = [[UIImageView alloc] initWithFrame:CGRectMake(10, 160, 150, 150)];
        iamge = [iamge stretchableImageWithLeftCapWidth:20 topCapHeight:20];
        iv2.image = iamge;
        
        [self.view addSubview:iv];
        [self.view addSubview:iv2];
    
    QQ20170717-104503.png

    说明:图片大小是160x160像素大小。改下名称成了@2x的图片。
    所以在手机上显示80x80大小才是正常的显示。
    1.经过测试,如果imageview的大小比正常显示即80x80小,这个拉伸不起作用。(废话,拉伸就是让它变大,变小的话拉伸当然没用)
    2.不变的区域,是除了那个点之外4个区域,图中黑色边框标注的部分,可以明显看到,如果把这4个区域合起来就是原图了。
    3.设置的左边和上边的数值,其实是坐标值,不是像素点位置。它把那个坐标点的那个像素进行了个正方形的复制。图中红色区域。
    4.还有剩下的上下左右4个区域,这个4个区域可以观察看到,是拉伸点对应的那一排和一列的像素点进行了复制,除了拉伸点。(拉伸点单独复制成了一个正方形)

    相关文章

      网友评论

          本文标题:stretchableImageWithLeftCapWidth

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