我是NSOpenPanel从用户的机器中选择文件或文件夹.但是当用户单击"打开"时,光标位于文本字段中显示的路径的开头.这是一个问题,因为在您右键单击文本字段和箭头之前,您将看不到列出整个路径.例如,如果路径是:
/Users/jeremysmith/code/testfolder/testfolder2
Run Code Online (Sandbox Code Playgroud)
它可能只显示:
/Users/jeremysmith/code/
Run Code Online (Sandbox Code Playgroud)
由于光标位于开头,文本字段的宽度仅为"代码".
sim*_*n.d 23
我通过以下方式在textfields上工作:
[[self.inputFileTextField currentEditor] moveToEndOfLine:nil];
Run Code Online (Sandbox Code Playgroud)
在Swift,从2015年开始:
self.textField.moveToEndOfDocument(nil)
Run Code Online (Sandbox Code Playgroud)
这是我的斯威夫特解决方案:
self.fileTextField.currentEditor()?.moveToEndOfDocument(nil)
Run Code Online (Sandbox Code Playgroud)
我的脑海中浮现出两个想法。首先,您可以使用-[NSTextView setSelectedRange:]:
NSTextView * fieldEditor = [thePanel fieldEditor:NO forObject:theTextField];
NSUInteger text_len = [[fieldEditor string] length];
[fieldEditor setSelectedRange:(NSRange){text_len, 0}];
Run Code Online (Sandbox Code Playgroud)
NSResponder或者您可以在文本字段上使用其中一种操作方法,例如moveDown:、moveToEndOfLine:、moveToEndOfParagraph:、 &c。伪造“Page Down”或“Down Arrow”按键[theTextField keyDown:...]也可能有效。
| 归档时间: |
|
| 查看次数: |
6086 次 |
| 最近记录: |