Перетаскивание из NSBrowser и использование привязок?

Я реализовал браузер, который совместно использует NSTreeController с NSOutlineView, чтобы я мог легко переключаться между ними и поддерживать синхронизацию состояний. Реализация поддержки перетаскивания для NSOutlineView проста, но кажется, что NSBrowser не может поддерживать перетаскивание при использовании привязок. Кто-нибудь был в состоянии поддерживать перетаскивание из NSBrowser при использовании привязок?

1 ответ

Я решил это путем создания пользовательских подклассов NSBrowser, NSMatrix, а также NSBrowserCell, Я должен был заставить NSBrowser использовать NSRadioModeMatrix режим (одна ячейка), установив этот режим в NSBrowser подкласс -mouseDown метод, потому что он постоянно сбрасывался.

в NSBrowserCell подкласс, я реализовал trackMouse:inRect:ofView:untilMouseUp: просто имея суперкласс сделать это, но вернулся NO поэтому будет происходить отслеживание, которое позволило mouseDragged: быть призванным в моем NSMatrix подкласс. В mouseDragged: Затем я сделал все, чтобы получить местоположение мыши, построить изображение мыши и использовал [self dragImage:at:offset:pasteboard:source:slideBack:],

Я не уверен, что это лучший подход, но это сработало. Работает только тогда, когда в NSBrowser,

Другие вопросы по тегам