我有一个 1024 x 1 像素的 UIImage。此图像必须拉伸以填充 1024 x 50 像素的 UIImageView。
该图像最初加载在 NSArray 上,然后我这样做:
UIImage *image = nil;
if ([UIImage respondsToSelector:@selector(resizableImageWithCapInsets:resizingMode:)]) { // ios >= 6.0
image = [[myImages objectAtIndex:0] resizableImageWithCapInsets:UIEdgeInsetsZero
resizingMode:UIImageResizingModeStretch];
} else {
image = [[myImages objectAtIndex:0] stretchableImageWithLeftCapWidth:0.0f topCapHeight:0.0f];
}
这在 iOS 6 上很好用,但在 iOS 5 上不行。为什么?
我的意思是,图像在 iOS 6 上很好地伸展并填充了 UIImageView,但在 5 上却没有。
UIImageView 使用以下参数设置:
UIImageView myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,1024,50)];
[myImageView setContentMode:UIViewContentModeScaleToFill | UIViewContentModeRedraw];
[myImageView setImage:image];