Почему редактируемая ячейка текстового поля Какао не рисует тень?

Итак, все работает нормально, если я отключаю редактирование для текстового поля / текстового поля... через конструктор кода или интерфейса.

(обратите внимание на небольшую тень)

Но как только я сделаю его редактируемым ([cell setEditable:YES]), тень полностью исчезнет:

Я попытался нарисовать тень двумя способами: один, настройка NSBackgroundStyleRaisedи два, переопределяя - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView вручную создать тень. Оба стиля / способа рисования тени перестают работать, когда ячейка становится редактируемой. (Чтобы было ясно, конечный результат должен быть в виде вставляемого редактируемого текста. Приведенные выше изображения служат только для демонстрации.)

Может кто-нибудь сказать мне, почему? И как я могу обойти эту проблему?

1 ответ

Решение

Я думаю, я понял, почему, по крайней мере, частично -

Потому что я использовал - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView установить тень, и потому, что при редактировании редактор поля также выполняет рисование (и не проходит вышеупомянутый метод), тень не применяется к нему.

Подтверждение этому может быть хорошим, но сейчас я собираюсь предположить, что именно поэтому тень не рисует.

Другие вопросы по тегам