我是NSOpenPanel从用户的机器中选择文件或文件夹。但是当用户单击“打开”时,光标位于文本字段中显示的路径的开头。这是一个问题,因为在您右键单击文本字段和箭头之前,您将看不到列出整个路径。例如,如果路径是:
/Users/jeremysmith/code/testfolder/testfolder2
它可能只显示:
/Users/jeremysmith/code/
因为光标位于开头,而文本字段的宽度仅为“code”。
答案 0 :(得分:22)
我通过以下方式在textfields上工作:
[[self.inputFileTextField currentEditor] moveToEndOfLine:nil];
答案 1 :(得分:5)
在Swift,自2015年以来:
self.textField.moveToEndOfDocument(nil)
答案 2 :(得分:2)
有两个想法浮现在脑海中。首先,您可以使用-[NSTextView setSelectedRange:]
:
NSTextView * fieldEditor = [thePanel fieldEditor:NO forObject:theTextField];
NSUInteger text_len = [[fieldEditor string] length];
[fieldEditor setSelectedRange:(NSRange){text_len, 0}];
或者您可以在文本字段中使用NSResponder
操作方法之一,例如moveDown:
,moveToEndOfLine:
,moveToEndOfParagraph:
和& c。使用[theTextField keyDown:...]
伪造“向下翻页”或“向下箭头”按键也可能有效。
答案 3 :(得分:2)
这是我的Swift解决方案:
self.fileTextField.currentEditor()?.moveToEndOfDocument(nil)