当前位置:  开发笔记 > 后端 > 正文

关注NSTextField

如何解决《关注NSTextField》经验,为你挑选了3个好方法。

我有一个NSTextField,我想设置它的内容,如果我点击一个按钮,而不是将光标设置在文本末尾的文本字段上,所以如果有人点击按钮,他就可以开始输入.

到目前为止,我使用[NSTextField selectText]它选择了这个文本字段,但是它选择了整个文本,所以如果有人刚开始输入,他就会丢失所有在文本字段中的文本.



1> 小智..:

甚至更容易

[yourTextField becomeFirstResponder];


此方法在10.5中已弃用,此外,如果您阅读此方法的文档,则会明确指出"从不直接调用此方法".
好的,Alan,我刚刚删除了一堆使用10.8 SDK直接使用becomeFirstResponder的异常调用.

2> Jeena..:

好的我现在发现了:)

- (IBAction)focusInputField:(id)sender {
    [textField selectText:self];
    [[textField currentEditor] setSelectedRange:NSMakeRange([[textField stringValue] length], 0)];  
}

在RubyCocoa中它是:

def select_input_field
    @input.selectText self
    range = OSX::NSRange.new(@input.stringValue.length, 0)
    @input.currentEditor.setSelectedRange range
end



3> macinjosh..:

你会想做这样的事情:

[[self window] makeFirstResponder:[self yourTextField]];

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有