我想要一个NSTextField
来阻止空字符串,所以我将NSTextField
子类化并实现了这个方法
-(void) textDidEndEditing:(NSNotification *)aNotification
{
if([[self stringValue] isEqualToString:@""])
{
NSBeep();
[[self window] makeFirstResponder:self];
}
else
{
//what goes here
}
}
当我的新文本字段是窗口中的第二个控件而不是第一个控件时,这是有效的。在这些情况下,即使文本非空,我也无法跳出Subclassed文本域
那么,如何撤消makeFirstResponder
方法呢?或者有没有办法让新文本字段成为当前响应者
提前致谢
stupot。
答案 0 :(得分:0)
当您覆盖基本功能时,您应该只需要回拨给超级用户,以便继续正常行为。
-(void) textDidEndEditing:(NSNotification *)aNotification
{
if([[self stringValue] isEqualToString:@""])
{
NSBeep();
[[self window] makeFirstResponder:self];
}
else
{
//what goes here - this:
[super textDidEndEditing:aNotification];
}
}