Как заставить NSPopUpButtonCell перезапустить себя?

Я создаю пользовательский подкласс NSPopUpButton и NSPopUpButtonCell для отображения одиночного значка в верхней части кнопки вместо обычного текста.

Для этого я переопределяю

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

в моем подклассе ячейки кнопки, чтобы нарисовать мою иконку в соответствующем размере и местоположении. Когда пользователь наводит курсор на кнопку, я хочу изменить изображение. Моя единственная проблема в том, что я не могу понять, как вызвать повторное отображение ячейки кнопки (вызывая drawInterior ... снова). По умолчанию он отображается только при нажатии кнопки или при перемещении фокуса в другое окно. Я пробовал setNeedsDisplay: ДА, но, похоже, этого не происходит.

11.12.2008 20:57:15
1 ОТВЕТ
РЕШЕНИЕ

Я нашел способ сделать это, чтобы вставить вызов

[self updateCell:self.cell];

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

2
11.12.2008 22:31:28