在macOS的某个地方(也许在Mojave中),以编程方式更改NSTabViewItem
中的图像不会刷新选项卡的显示(尽管它实际上代替了image属性)以显示新图像。在macOS的早期版本中,替换映像会导致使用新映像重新显示选项卡。现在,仅使包含NSTabView的窗口失去焦点,或单击选项卡将重新绘制新图像。将setNeedsDisplay:
发送到NSTabView
或其中的任何包含视图都不会执行任何操作。
通过在其NSTabViewItem
中删除NSTabView
,更改图像,然后将NSTabViewItem
重新插入其原始索引位置来解决此问题(在Mojave中)看起来不错。是否有人遇到过这种情况或这种行为的公开原因?
答案 0 :(得分:0)
尝试执行此操作以强制NSTabViewItem重新显示标签:
NSString *originLable = [self.label copy];
NSString *newLabel = [NSString stringWithFormat:@"%@ ",originLable];
[self setLabel:newLabel];
[self setLabel:originLable];