我有一个用于显示计时器的 NSTextView。此计时器每秒更新一次,倒计时至 00:00。当计时器更新 NSTextView 的字符串时,NSTextView 就像重绘一样,但使用其父视图背景作为自己的背景。
我的 NSTextView 具有清晰的背景颜色,并且已设置为不绘制其背景。它的父视图为它自己的背景绘制了一个 3 部分的图像。下面是 NSTextView 的代码。
_timerLabel = [[NSTextView alloc] init];
[self.timerLabel setSelectable:NO];
[self.timerLabel setEditable:NO];
self.timerLabel.font = fontLoaded ? [NSFont fontWithName:@"DS-Digital" size:26.0f] : [NSFont fontWithName:@"Lucida Grande" size:26.0f];
self.timerLabel.textColor = [NSColor colorWithCalibratedRed:(50.0f/255.0f) green:(50.0f/255.0f) blue:(50.0f/255.0f) alpha:1.0f];
self.timerLabel.backgroundColor = [NSColor clearColor];
[self.timerLabel setDrawsBackground:NO];
[self.timerLabel setAllowsDocumentBackgroundColorChange:NO];
[self.timerLabel setAlignment:NSCenterTextAlignment];
self.timerLabel.string = @"5:11";
[self addSubview:self.timerLabel];
任何想法为什么会发生这种情况?我已经尝试了所有我能想到或在苹果文档中找到的东西,但没有任何东西可以解决我的问题。任何帮助将不胜感激。
在更新 NSTextView 中的文本之前 https://www.dropbox.com/s/za3twd8hb7r1apr/Screen%20Shot%202013-04-10%20at%205.37.10%20PM.png
更新 NSTextView 中的文本后 https://www.dropbox.com/s/p0bsk63o8yweyqs/Screen%20Shot%202013-04-10%20at%205.37.28%20PM.png