在一次平铺展示中,UI给的图尺寸不对,于是我自己修改了图片的尺寸,代码如下:
-(UIImage *)imageResize :(UIImage*)img andResizeTo:(CGSize)newSize
{
CGFloat scale = [[UIScreen mainScreen]scale];
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, scale);
[img drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
在使用中如下调用:
- (UIView *)separatorView {
if (!_separatorView) {
_separatorView = ({
UIView *view = [[UIView alloc] init];
UIImage *image = [UIImage imageNamed:@"红包锯齿竖"];
view.backgroundColor = [UIColor colorWithPatternImage:[self imageResize:image andResizeTo:CGSizeMake(3, 7)]];
view;
});
}
return _separatorView;
}
这样尺寸就对了。
其中,
UIGraphicsBeginImageContextWithOptions
是Quartz2D的方法,Quartz2D是iOS提供的强大的画图工具,C语言风格。