gpt4 book ai didi

objective-c - NSTabView Item 在 TabViewItem 中添加图标

转载 作者:行者123 更新时间:2023-12-03 16:59:33 24 4
gpt4 key购买 nike

我对 NSTabView 进行了子类化并添加了 5 个 TabViewItem,现在我想在 NSTabViewItem 中添加一个图标和标题,任何人都可以建议我如何开始,我没有得到任何文档,除了,

- (void)drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect

这是否意味着,如果我重写此方法,我需要绘制自己的图标和字符串,

为了设置标题,我使用以下方法,

[pTabViewItem setLabel:pLabelTitle];

亲切的问候
罗汉

最佳答案

没关系,以下代码对我有用,

- (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];
}

为何转型:
图像显示为倒置,所以我需要转换,

为什么要偏移:即使在转换之后,我也需要调整位置,使其看起来就在标题之前,

各位,我在设置标题时,

附加一个空格,这样标题就不会与图像重叠,我知道这是丑陋的方法,但无法找到任何其他快速方法来做到这一点,如果我自己绘制文本,那么我还需要处理截断,

感谢那些查看问题和回答的人
亲切的问候
罗汉

关于objective-c - NSTabView Item 在 TabViewItem 中添加图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5455982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com