时间:2011-09-07 14:02:01

标签: iphone objective-c ios

您好我有这样的图像 enter image description here

我认为它可以伸展得很好。它宽17px,高30px。

我只是希望能够水平拉伸它。但是当我伸展它时,这就是我最终的结果。 enter image description here

伸展它...... enter image description here

也许我对这些角落很挑剔,但看起来它应该比现在好一些。

任何帮助都会很棒!

int textWidth = [text length] * 10;

    CGRect rect = CGRectMake(32.50f, 14.5f, 40.0f, 30.0f);

    UIImage* img = [[UIImage imageNamed:@"screen_displayer_rounded.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0];
    UIImageView* imgView = [[UIImageView alloc] initWithFrame:rect];

    [imgView setImage:img];    

    //[imgView addSubview:label];
    NSLog(@"imge %@", imgView.subviews);

    [self addSubview:imgView];

2 个答案:

答案 0 :(得分:3)

您应该水平保留至少5个像素,垂直保留6个像素。因此,使用5x6代替4x0(顺便说一句,0表示拉伸整个图像)。这样,iOS将使用第六和第七像素(在下面用红色标记)来拉伸图像。

corner

答案 1 :(得分:0)

在Photoshop中查看您的图像,看起来您的水平和垂直圆角分别为5px和6px。因此,以下行应如下所示;

UIImage* img = [[UIImage imageNamed:@"screen_displayer_rounded.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:6];