修改UISlider的最大值和最小值图片的时候,发现需要修改图片的大小,否则会导致UISlider变形。目前苹果还不支持直接修改UIImage类的大小,只能修改UIImageView的大小。
所以只能通过写方法的方式来实现修改图片。如下:
//UIImage.h
#import
@interfaceUIImage (Scale)
-(UIImage*)TransformtoSize:(CGSize)Newsize;
@end
//UIImage.m
#import"UIImage.h"
@implementationUIImage (Scale)
-(UIImage*)TransformtoSize:(CGSize)Newsize
{
// 创建一个bitmap的context
UIGraphicsBeginImageContext(Newsize);
// 绘制改变大小的图片
[selfdrawInRect:CGRectMake(0,0, Newsize.width, Newsize.height)];
// 从当前context中创建一个改变大小后的图片
UIImage*TransformedImg=UIGraphicsGetImageFromCurrentImageContext();
// 使当前的context出堆栈
UIGraphicsEndImageContext();
// 返回新的改变大小后的图片
returnTransformedImg;
}
@end
最后在其他地方导入头文件,即可以使用此方法了。
UIImage*MaxImg=[UIImageimageNamed:@"sunny.png"];
UIImage*MaxImg_Fin=[MaxImgTransformtoSize:CGSizeMake(28,28)];
网友评论