NSImage如何设定指定size

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;

 }];

推荐阅读更多精彩内容