6

textDidChangeが私のデリゲートを処理しないのに、controlTextDidChangeがNSTextFieldから機能する理由を誰かが説明できますか?

 - (void)controlTextDidChange:(NSNotification *)aNotification{
    NSBeep();
}

から

 - (void)textDidChange:(NSNotification *)aNotification{
    NSBeep();
}
4

2 に答える 2

5

controlTextDidChange:で定義された正しいデリゲートメソッドですNSTextField(から継承されNSControlます)。

textDidChange:は、で呼び出されるとNSTextField、テキストが変更されたかのように動作するようにするメソッドです(上記のメソッドの呼び出しを含む)。実装するためのデリゲートメソッドではありません。

UISearchBarDelegatetextDidChange:にデリゲートメソッドがあるため、Appleとは少し矛盾しています。

于 2012-09-02T14:37:54.843 に答える
1

textDidChange:Informs the delegate that the text object has changed its characters or formatting attributes.

これは、入力されたテキストではなく、フォント(テキスト属性)が変更されることを意味していると思います。

于 2012-09-01T13:14:43.727 に答える