Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSTextField内的文本标记_Cocoa_Nstextfield_Nstextview_Nstokenfield - Fatal编程技术网

Cocoa NSTextField内的文本标记

Cocoa NSTextField内的文本标记,cocoa,nstextfield,nstextview,nstokenfield,Cocoa,Nstextfield,Nstextview,Nstokenfield,我正在尝试创建一个NSTextField以允许批量重命名某些文件。此字段应允许插入一些标记以自定义每个文件名。NSTokenField的问题在于1)它修剪了空白,这应该是允许的;2)它没有足够的功能来混合标记和纯文本,例如,即使实际样式是纯文本,它也应该识别标记的开头 现在我考虑将NSTextField或NSTextView子类化以手动绘制令牌,但如何使每个令牌都像单个字符一样工作?我可以用某种方式添加一个带有文本的NSCell吗?“1)它修剪空白,这应该是允许的”-我想这可以通过委托方法进行定

我正在尝试创建一个NSTextField以允许批量重命名某些文件。此字段应允许插入一些标记以自定义每个文件名。NSTokenField的问题在于1)它修剪了空白,这应该是允许的;2)它没有足够的功能来混合标记和纯文本,例如,即使实际样式是纯文本,它也应该识别标记的开头

现在我考虑将NSTextField或NSTextView子类化以手动绘制令牌,但如何使每个令牌都像单个字符一样工作?我可以用某种方式添加一个带有文本的NSCell吗?

“1)它修剪空白,这应该是允许的”-我想这可以通过委托方法进行定制


“2)…即使实际样式是纯文本,它也应该识别标记的开头”-标记就是标记。它应该是完全匹配或不匹配的令牌,因为您的用户实际上可能有一个令牌的子字符串作为一个诚实的文字。

我已经尝试了所有的方法,但我无法禁用空格修剪行为。忘了纯文本问题吧,事实上它很混乱。现在,我可以通过以下方法解决问题:1)获得添加空白的功能,或2)将自定义标记添加到NSTextField(如何?)。最后我得到了它:我混合了NSTokenField和NSTokenFieldCell的委托方法(看起来完全相同),因此没有获得正确的行为。覆盖
-(NSString*)标记字段:(NSTokenField*)标记字段displayStringForRepresentedObject:(id)representedObject
并返回
representedObject
将启用空白。仍然不知道如何定制代币。。。