我已将NSSecureTextField
分组,并覆盖了-(BOOL)becomeFirstResponder
,但只有在我的自定义NSSecureTextField
第一次获得焦点时,它才有效。
答案 0 :(得分:0)
我认为这不是NSSecureTextField的问题。这是控制如何集中的问题。
创建一个新项目,只在视图上拖动两个NSSecureTextField。将其中一个的自定义类设置为下面定义的MySecureTextField,并保持另一个默认值。运行项目并在两个NSSecureTextField之间更改焦点,每次自定义焦点时,您将看到打印“获取焦点”。
返回您的程序,请检查NSSecureTextField是否失去焦点? resignFirstResponser是否被调用?
#import "MySecureTextField.h"
@implementation MySecureTextField
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
// Drawing code here.
}
- (BOOL)becomeFirstResponder
{
NSLog(@"Get focus");
return [super becomeFirstResponder];
}
@end