В документации для NSPopUpButton указано:
Объект NSPopUpButton использует объект NSPopUpButtonCell для реализации своего пользовательского интерфейса.
Я получил новый класс от NSPopUpButtonCell
, который реализует drawBorderAndBackgroundWithFrame:inView:
для достижения пользовательского рисования. Кроме того, я создал новый класс из NSPopUpButton
и использую cellClass
, чтобы использовать для него мой производный класс. (т.е. я не работаю через конструктор интерфейса.)
Однако с появлением бета-версии macOS 10.14 эта процедура больше не вызывается, и я наблюдаю «обычный» (то есть ненастроенный) рисунок.
Благодаря @Marc T. answer я (думаю, что я) смог локализовать проблему в том факте, что Cell явно вызывает drawBorderAndBackgroundWithFrame:inView:
только в том случае, если drawInteriorWithFrame:inView:
реализовано в производной ячейке.
Я не мог найти надежную документацию по этому поводу. Есть ли?