Выяснение NSTextField для полевого редактора - PullRequest
2 голосов
/ 26 августа 2010

Я использую

- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject 

для предоставления собственного редактора полей, чтобы я мог отображать пользовательское контекстное меню. Это работает, но когда внутри метода menuForEvent: моего полевого редактора, как я могу найти, к какому NSTextField он прикреплен?

РЕДАКТИРОВАТЬ: хорошо, я обнаружил, что я получаю его через TextView через

[[[[self window] firstResponder] nextResponder] nextResponder]

Вопрос в том - это хорошее решение или взлом. Я должен пропустить внутренний респондент класса _NSKeyboardFocusClipView, поэтому я боюсь, что это может не сработать в будущих версиях Какао.

1 Ответ

0 голосов
/ 26 августа 2010

Я не хотел бы полагаться на цепочку респондента для этого, она выглядит довольно хрупкой.

Я бы попытался добавить свойство в свой класс редактора полей и установить его в anObject в windowWillReturnFieldEditor:toObject:метод делегата.

...