Я создал подкласс NSControl, чтобы получить свой настраиваемый элемент управления, создал подкласс NSCell, чтобы получить свою настраиваемую ячейку, переопределил -(BOOL)trackMouse:inRect:ofView:untilMouseUp
и необходимые методы в настраиваемой ячейке, переопределил + (Class)cellClass
в customControl, чтобы вернуть мой customCell,
Ячейка отлично отрисовывается на элементе управления, установка включения, установка отключения работает нормально, но события мыши не запускаются. Во время отладки я заметил, что -(BOOL)trackMouse:inRect:ofView:untilMouseUp:
никогда не вызывается. Согласно «Руководству по программированию управления и ячейки» -
«Элементы управления управляют поведением своих ячеек. Путем наследования от NSView элементы управления получают возможность реагировать на действия пользователя и отображать их экранное представление. Когда пользователи щелкают элемент управления, он частично отвечает отправкой
trackMouse:inRect:ofView:untilMouseUp:
в ячейку, которая была нажал "
Пожалуйста, скажите, если я что-то упускаю - я много гуглил, но ничего полезного не нашел.