Я пытаюсь реализовать некоторые элементарные вкладки в редакторе Какао, над которым я работаю. Я использую NSSegmentedControl и добавляю сегменты к нему в качестве вкладок. Я использую пользовательский подкласс NSSegmentedCell для вкладок, чтобы нарисовать маленькую иконку «х» рядом с текстом для закрытия вкладок, и до сих пор все шло довольно гладко.
Однако я не могу понять, как на самом деле обрабатывать события мыши для вкладок, чтобы проверить, не коснулся ли кто-нибудь (или не щелкнул) значок «x». Я попытался переопределить «mouseMoved» в моем подклассе NSSegmentedControl, но по какой-то странной причине он перестает вызываться, когда я добавляю в него новый сегмент (я устанавливаю «setAcceptsMouseMovedEvents» в yes в awakeFromNib, да, я должен также установить его где-нибудь еще ?? ). NSSegmentedCells, будучи подклассами NSCell, похоже, не имеют никакой обработки событий мыши, кроме отслеживания мыши, которая срабатывает только при нажатии на элемент управления.
Итак, вопрос в том, как мне правильно обрабатывать события мыши, либо в NSSegmentedControl, либо в подклассе NSSegmentedCell?