Почему редактируемая ячейка текстового поля Какао не рисует тень?
Итак, все работает нормально, если я отключаю редактирование для текстового поля / текстового поля... через конструктор кода или интерфейса.
(обратите внимание на небольшую тень)
Но как только я сделаю его редактируемым ([cell setEditable:YES]), тень полностью исчезнет:
Я попытался нарисовать тень двумя способами: один, настройка NSBackgroundStyleRaised
и два, переопределяя - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
вручную создать тень. Оба стиля / способа рисования тени перестают работать, когда ячейка становится редактируемой. (Чтобы было ясно, конечный результат должен быть в виде вставляемого редактируемого текста. Приведенные выше изображения служат только для демонстрации.)
Может кто-нибудь сказать мне, почему? И как я могу обойти эту проблему?
1 ответ
Я думаю, я понял, почему, по крайней мере, частично -
Потому что я использовал - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
установить тень, и потому, что при редактировании редактор поля также выполняет рисование (и не проходит вышеупомянутый метод), тень не применяется к нему.
Подтверждение этому может быть хорошим, но сейчас я собираюсь предположить, что именно поэтому тень не рисует.