In have an NSImage is a template image (that is, [NSImage isTemplate] returns YES).

When I use it inside an NSImageView, it is drawn correctly as a template image.

However, if I draw it manually using drawInRect:fromRect:operation:fraction:, it is drawn as a flat black image.

How can I draw an NSImage manually, and still get the 'template' effect?

有帮助吗?

解决方案

The special drawing of template images is part of CoreUI and not public.
You can imitate the effect with Quartz though. Details and code can be found in this answer here on SO: https://stackoverflow.com/a/7138497/100848

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top