需要在setDrawsBackground之后更新/刷新显示

时间:2013-11-24 06:15:00

标签: objective-c cocoa nstextfield

我正在以编程方式创建NSTextField

NSTextField *textField  = [[NSTextField alloc] init];
[textField setBezeled:NO];
[textField setEditable:NO];
[textField setSelectable:NO];
[textField setDrawsBackground:YES];
[textField setTextColor:[NSColor whiteColor]];
[textField setBackgroundColor:[NSColor blackColor]];

后来在另一种方法中,我想删除黑色背景颜色

所以我打电话给

[textFieldReferenceOfAbove setDrawsBackground:NO];

但黑色背景颜色并没有消失。在上面的代码

之后,cocoa中是否有一种方法可以刷新

我在下面尝试了所有这些

[textFieldReferenceOfAbove setNeedsLayout:YES];
[textFieldReferenceOfAbove setNeedsDisplay:YES];
[textFieldReferenceOfAbove invalidateIntrinsicContentSize];

但在我的情况下它并没有帮助 - 但是当我通过用户交互(不是程序化)改变字体大小时,背景黑色消失了

0 个答案:

没有答案