Я создаю собственный подкласс NSPopUpButton и NSPopUpButtonCell для отображения одиночного значка в верхней части кнопки вместо обычного текста.
Для этого я переопределяю
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
в моем подклассе ячейки кнопки, чтобы нарисовать мою иконку в соответствующем размере и местоположении. Когда пользователь наводит курсор на кнопку, я хочу изменить изображение. Моя единственная проблема в том, что я не могу понять, как вызвать повторное отображение ячейки кнопки (вызывая drawInterior ... снова). По умолчанию он отображается только при нажатии кнопки или при перемещении фокуса в другое окно. Я пробовал setNeedsDisplay: ДА, но, похоже, этого не происходит.