colorNamed通常对我有用,但是,我试图在NSTableViewRow.drawSeparatorInRect:中调用它,即使系统处于黑暗模式,它也总是以浅色外观返回颜色。

- (void)drawSeparatorInRect:(NSRect)dirtyRect { [[NSColor colorNamed:@"ColorTransactionsGridLine"] set]; ...}

我不知道为什么colorNamed在这种情况下不起作用。有任何想法吗?

谢谢。

最佳答案

我想通了。事实证明,父视图具有硬编码的外观,因此子视图继承了该外观,而不是系统的外观。在父视图中将外观更改为“继承”后,colorNamed返回正确的颜色。

关于macos - 深色模式:NSColor.colorNamed在某些方法中未返回正确的颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53136382/

10-10 20:37