我一直试图找出如何在点击其中时自动删除NSTextField中的字符串。
例如,当前行为在OSX上是这样的:
当用户单击单元格或默认焦点是单元格时,单词有时会突出显示或光标位于文本的中间。然后,用户需要使用退格键来删除文本(我希望通过自动删除文本来消除该文本)。
这是一个内置的功能,我不知何故失踪了吗?如果不是我怎么办呢?
答案 0 :(得分:0)
据我所知,没有标准功能可以删除文本字段中的文本。根据您的控制器类,您可以尝试使用mouseDown或acceptFirstResponder,但我不相信这会提供稳定的情况。
我建议您从空文本字段(在xcode中设置)开始,并在处理完文本字段内容后清空文本字段。例如:
-(IBAction)addYourTextFieldInWhateverYouWant:(id)sender
{
//copying the string from the textfield
NSString *text = [[self yourTextField]stringValue];
//now you can empty the textfield
[[self yourTextField]setStringValue:@""]
//Do here whatever you need to do with the input from the textfield.
....
}
它并不能完全满足您的需求,但它为用户提供了一个空文本字段,用户可以在单击文本字段时立即键入他/她的文本,用户无需删除任何文本字段文本域中的文字。
希望这有帮助。
亲切的问候, MacUserT
答案 1 :(得分:0)
有很多可怕的想法“在盒子外面”,这是其中之一。
无论如何,要创建NSTextField
的子类。覆盖becomeFirstResponder
。如果[super becomeFirstResponder]
返回YES
,请设置self.stringValue = @""
。