问题是自动完成几乎总是包含空格字符,因此如果用户键入的内容与建议相符,但又不想接受该建议,则当用户按下空格键时,字段编辑器将接受该建议. .我希望字段编辑器仅使用Tab键接受建议.
我理解这将涉及子类化NSTextVIEw以提供自定义字段编辑器,这是documented by Apple作为可接受的方式,但是我不清楚我需要覆盖哪些方法以及被覆盖的方法需要做什么,以便获得我想要的是什么.
谁能建议如何实现这一目标?
@H_404_16@解决方法@H_419_17@ 我承认,在 I discovered an acceptable answer via Google-fu.之前,我一直在摸索这个问题已经很久了.魔术代码,从原来的回答者公然偷走了:@interface MLFIEldEditor : NSTextVIEw @end@implementation MLFIEldEditor- (voID)insertCompletion:(Nsstring *)word forPartialWordRange:(NSRange)charRange movement:(NSInteger)movement isFinal:(BOol)flag { // suppress completion if user types a space if (movement == NSRightTextMovement) return; // show full replacements if (charRange.location != 0) { charRange.length += charRange.location; charRange.location = 0; } [super insertCompletion:word forPartialWordRange:charRange movement:movement isFinal:flag]; if (movement == NSReturnTextMovement) { [[NSNotificationCenter defaultCenter] postNotificationname:MLSearchFIEldautocompleted object:self userInfo:nil]; } }@end
(Additional reference)
总结以上是内存溢出为你收集整理的Cocoa:停止字段编辑器自动完成空格键全部内容,希望文章能够帮你解决Cocoa:停止字段编辑器自动完成空格键所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)