2009-11-17 3 views
6

Вы знаете, что во многих приложениях Mac/iPhone (таких как ваш Finder), когда вы перетаскиваете значок вокруг, все остальные значки будут «отталкиваться» от мыши и оставляйте место для иконки, которую вы перетаскиваете.Автоматическое расположение «силы отталкивания» в какао

Мне интересно, если это встроенная функция какао (в ограничениях компоновки и т. Д.?). Если нет, есть ли библиотека или документы о том, как ее реализовать?

ответ

6

Если вы хотите получить более или менее бесплатно, используйте NSCollectionView.

Если NSCollectionView не соответствует вашим потребностям, его довольно просто реализовать, используя NSAnimation. В принципе, способ, которым NSToolbar или NSCollectionView делает это (например), заключается в том, чтобы определить, куда перетаскивает значок, если вы его отпустите, и он отправляет другие значки в свои новые местоположения, используя Core Animation, чтобы переместить их плавно.

+0

да, но как рассчитать, куда перемещать каждую иконку? и что произойдет, если в этом положении уже есть иконка? –

Смежные вопросы