我正在尝试设置一个自定义拖动图标以在 NSTableView 中使用。一切似乎都有效,但由于我对 Quartz 缺乏经验,我遇到了问题。
- (NSImage *)dragImageForRowsWithIndexes:(NSIndexSet *)dragRows tableColumns:(NSArray *)tableColumns event:(NSEvent *)dragEvent offset:(NSPointPointer)dragImageOffset
{
NSImage *dragImage = [NSImage imageNamed:@"icon.png"];
NSString *count = [NSString stringWithFormat:@"%d", [dragRows count]];
[dragImage lockFocus];
[dragImage compositeToPoint:NSZeroPoint fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:0.5];
[count drawAtPoint:NSZeroPoint withAttributes:nil];
[dragImage unlockFocus];
return dragImage;
}
基本上我想要做的是渲染我的 icon.png 文件,其不透明度为 50% 以及一个 NSString,它显示当前被拖动的行数。我看到的问题是我的 NSString 以低不透明度呈现,但不是我的图标。