Я создал подклассы и определил свои собственные пользовательские классы NSFormatter и NSTextField, чтобы правильно отображать значения временного кода SMPTE (HH:MM:SS:FF
). Когда пользователь выбирает использование пропуска кадров для значения fps, формат изменяется на HH:MM:SS;FF
(точка с запятой в конце). У меня все это работает хорошо, за исключением одного последнего препятствия.
При изменении формата NSTextField с фокусом не обновляет свое отображение до тех пор, пока фокус не будет потерян. Вот скриншот для иллюстрации:
Я попытался отправить NSTextField сообщение setNeedsDisplay
при изменении формата, а также отправить ему сообщение display
. Кажется, пока ничего не работает, и текстовое поле с фокусом отказывается обновлять/перерисовывать себя, пока не потеряет фокус.
Любые предложения о том, что мне нужно сделать, чтобы это произошло?
NSTextFieldCell
, но оттуда я не могу получить доступ к редактору полей. ОтправкаfieldEditorForView:
илиfieldEditor:forObject:
дает мне не отвечает на ошибку селектора. Кроме того, я пробовалdrawWithFrame:inView:
для NSTextFieldCell и не играл в кости.setNeedsDisplayInRect:avoidAdditionalLayout:
выглядит многообещающе, но я не могу получить доступ к экземпляру NSTextView моего текстового поля. - person Chris   schedule 22.05.2013