NSTokenField中键入时,我会使用GetCompletionStrings中的NSTokenFieldDelegate显示该值的建议

public override string [] GetCompletionStrings (NSTokenField tokenField, string substring, nint tokenIndex, nint selectedIndex)
        {
            //return my values
        }


但是,如果我要从NSTokenFiled中完全删除所有符号,则不会触发此事件。

我需要在NSTokenFiled string value更改,清除或更新时捕获通知,而无需单击Enter按钮。

我在其中覆盖了DidEndEditing的自定义nstoken字段TokenField : NSTokenField中,如下所示:

public override void DidEndEditing (NSNotification notification)
        {
            if (EditingFinished != null) {
                EditingFinished (null, null);
            }
            base.DidEndEditing (notification);
        }


仅在输入单击后调用,不会在文本更改时触发...

我也尝试在视图控制器中处理我的视图的更改事件,但未调用

TagsSearchField.EditingFinished += OnTagFilterSet;
        TagsSearchField.Delegate = new TagFieldDelegate ();
        TagsSearchField.Changed += (o, e) => {
        //debug
        };

最佳答案

我将动作'Send On End Editing'设置为xib文件中的Token Field,现在可以使用了。

调用此Change事件后

cocoa - NSTokenField值更改通知-LMLPHP

关于cocoa - NSTokenField值更改通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40376330/

10-10 20:32