没关系,遵循代码对我有用,
- (void)drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect{
// do we have an image to draw
NSImage *pImage = [pDelegate imageForCell];
[[NSGraphicsContext currentContext] saveGraphicsState];
NSAffineTransform* xform = [NSAffineTransform transform];
[xform translateXBy:0.0 yBy: tabRect.size.height];
[xform scaleXBy:1.0 yBy:-1.0];
[xform concat];
CGFloat x_Offset =0;
if(pImage){
[pImage drawInRect:NSMakeRect(tabRect.origin.x-8,-6,16, 16)fromRect:NSZeroRect
operation:NSCompositeSourceOver
fraction:1.0];
x_Offset = 16;
}
[[NSGraphicsContext currentContext] restoreGraphicsState];
[super drawLabel:shouldTruncateLabel inRect:tabRect];
}
为什么要转换:
图像显示倒置,所以我需要转换,
为什么偏移:即使在转换之后,我也需要调整位置,使其看起来就在标题之前,
伙计们,我在设置标题时,
附加一个空格,所以标题不会与图像重叠,我知道这是丑陋的方法,但无法获得任何其他快速方法来做到这一点,如果我自己绘制文本,那么我还需要注意截断,
感谢那些查看问题和回答的
人亲切的问候
Rohan