首页 > 解决方案 > 更改时不显示 NSTabViewItem 图像

问题描述

在 macOS 的某个地方(可能在 Mojave 中),以编程方式更改图像中的图像NSTabViewItem并不会刷新选项卡的显示(尽管它确实替换了图像属性)以显示新图像。在 macOS 的早期版本中,替换图像会导致使用新图像重新显示选项卡。然而,现在只有使包含 NSTabView 的窗口失去焦点,或者单击选项卡才会重绘新图像。发送setNeedsDisplay:NSTabView或其任何包含视图什么都不做。

NSTabViewItem通过从其中删除NSTabView,更改图像,然后在其原始索引位置插入背面来解决此问题(在 Mojave 中)NSTabViewItem,但这似乎不正确。任何人都遇到过这种行为或已公布的这种行为原因?

标签: macos-mojaveredrawsetneedsdisplaynstabview

解决方案


试试这个来强制 NSTabViewItem 重新显示标签:

NSString *originLable = [self.label copy];
NSString *newLabel = [NSString stringWithFormat:@"%@ ",originLable];
[self setLabel:newLabel];
[self setLabel:originLable];

推荐阅读