NSImage有个size属性可以直接设置“图片名.png”的大小,但当后面再使用该图片(“图片名.png”)时,不管是之前的对象还是重新创建的NSImage,依然会保持该size。原因是NSImage加载图片的缓存机制,除非clearCache,才会恢复。可以使用NSImage的绘图方法即可解决。
NSImage*image = [NSImage imageWithSize:NSMakeSize(16, 16) flipped:YES drawingHandler:^BOOL(NSRect dstRect) {
NSImage*icon = [NSImageimageNamed:@"图片名.png"];
[icondrawInRect:NSMakeRect(0,0,16,16)];
returnYES;
}];
网友评论