修改UISlider的最大值和最小值圖片的時候,發現需要修改圖片的大小,否則會導致UISlider變形。目前蘋果還不支持直接修改UIImage類的大小,只能修改UIImageView的大小。
所以只能通過寫方法的方式來實現修改圖片。如下:
//UIImage.h
#import <Foundation/Foundation.h>
@interface UIImage (Scale)
-(UIImage *)TransformtoSize:(CGSize)Newsize;
@end
//UIImage.m
#import "UIImage.h"
@implementation UIImage (Scale)
-(UIImage *)TransformtoSize:(CGSize)Newsize
{
// 創建一個bitmap的context
UIGraphicsBeginImageContext(Newsize);
// 繪制改變大小的圖片
[self drawInRect:CGRectMake(0, 0, Newsize.width, Newsize.height)];
// 從當前context中創建一個改變大小后的圖片
UIImage *TransformedImg=UIGraphicsGetImageFromCurrentImageContext();
// 使當前的context出堆棧
UIGraphicsEndImageContext();
// 返回新的改變大小后的圖片
return TransformedImg;
}
@end
最后在其他地方導入頭文件,即可以使用此方法了。
UIImage *MaxImg=[UIImage imageNamed:@"sunny.png"];
UIImage *MaxImg_Fin=[MaxImg TransformtoSize:CGSizeMake(28, 28)];