【发布时间】:2012-02-06 02:49:20
【问题描述】:
我想在 NSTextField 变为活动状态时将文本颜色更改为“红色”。所有非活动文本字段都需要有“黑色”文本。
使用 becomeFirstResponder 方法,我可以将文本颜色更改为“红色”。但是,当文本字段失去焦点时,文本颜色仍为“红色”。一旦它是非活动的 NSTextField,我需要将文本颜色改回“黑色”。我尝试了 resignFirstResponder 方法,但它没有将文本颜色改回“黑色”。
这是我的代码:
#import <Foundation/Foundation.h>
@interface MyTextField : NSTextField {
}
@end
和
#import "MyTextField.h"
@implementation MyTextField
- (BOOL)becomeFirstResponder {
if (![super becomeFirstResponder]) {
return NO;
} else {
[self setTextColor:[NSColor redColor]];
return YES;
}
}
- (BOOL)resignFirstResponder {
if (![super resignFirstResponder]) {
return NO;
} else {
[self setTextColor:[NSColor blackColor]];
return YES;
}
}
@end
【问题讨论】:
标签: objective-c cocoa nstextfield nstextview