在cell.background视图中拉伸图像

时间:2012-03-14 09:49:36

标签: iphone objective-c ios uiimageview

我想在横向模式下正确拉伸细胞背景。我'写下这段代码:

UIImage* cellBackGroundImage = [UIImage imageNamed:@"button_listing_default.png"];

cellBackGroundImage = [cellBackGroundImage stretchableImageWithLeftCapWidth:290 topCapHeight:76];

deselectedBackground = [[UIImageView alloc] initWithImage:cellBackGroundImage] ;

[deselectedBackground setContentMode:UIViewContentModeScaleToFill]; 

cell.backgroundView = deselectedBackground;

图像尺寸为580x152。单元格大小为280x76。

但是当我将我的设备变成横向时,我的图像的圆角会缩放,但它们不应该。

人像外观:Portrait appearance http://xmages.net/storage/10/1/0/6/6/upload/456703d5.png

景观外观:Landscape appearance http://xmages.net/storage/10/1/0/d/0/upload/a99fb3a8.png

图片本身:The image itself http://xmages.net/storage/10/1/0/6/6/upload/e1895d8e.png

2 个答案:

答案 0 :(得分:0)

可能你的上限值是错误的?

cellBackGroundImage = [cellBackGroundImage stretchableImageWithLeftCapWidth:290 topCapHeight:76];

他们为什么这么大?你的圆角有这么大的半径吗?如果他们只是10px,那么使用stretchableImageWithLeftCapWidth: 10 topCapHeight: 10。这些值定义了图像的哪个部分不会缩放。

你能告诉我们你的形象吗?

答案 1 :(得分:0)

我找到了导致我问题的原因。实际上它是图像本身。当图像小于结果时,拉伸和自动调整大小可以正常工作,但如果它应该更宽更低(就像在我的情况下那样)它不会。   所以要解决我的问题,我只需要使用较小的图像。