windowWillReturnFieldEditor никогда не вызывался для NSTextView - PullRequest
2 голосов
/ 01 июня 2011

По протоколу ref, windowWillReturnFieldEditor должен вызываться для любого отображающего текст объекта, когда он нуждается в редакторе полей.Действительно, мой делегат окна получает вызов этого метода для текстовых полей, кнопок, комбинированных списков и т. Д., Но никогда для текстовых представлений.

Это нормально?Имеет ли NSTextView свой собственный редактор полей и никогда не запрашивает его?Или чего мне не хватает?

- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject {
    if ([anObject isKindOfClass:[NSTextView class]])
        printf("\nwinWillRtnFldEdtor called for some textview."); // never happens
}

1 Ответ

1 голос
/ 02 июня 2011

Drats.Глядя на адреса памяти редакторов полей, становится очевидным, что у каждого текстового представления действительно есть свой собственный отдельный редактор полей (в отличие от текстовых полей, которые имеют общий редактор полей), и поэтому текстовые представления никогда не запрашивают редактор полей и никогда не вызывают этот метод.

К сожалению, так как мне нужны специальные процедуры для настройки нескольких отдельных текстовых представлений непосредственно перед тем, как они станут активными.(Это было проще сделать с текстовыми полями.) Лучший обходной путь, о котором я могу подумать, - это добавить свойство типа тега к текстовым представлениям.

...