DragDropUI

https://github.com/abdullahselek/DragDropUI

Это набор компонентов, обеспечивающих drag-n-drop.

Требования

iOS 8.0+ & Swift 3

CocoaPods

CocoaPods — это менеджер зависимостей для проектов Cocoa. Устанавливается следующим образом:

$ gem install cocoapods

Для интеграции DragDropUI в xCode проект через cocoapods нужно добавить в podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'DragDropUI', '~> 1.0'
end

Затем запустить в терминале:

$ pod install

Carthage

Carthage — это децентрализованный менеджер зависимостей, который строит зависимости и предоставляет поддержку бинарных фреймворков.

Установка:

brew update
brew install carthage

Для интеграции DragDropUI в проект xCode нужно добавить в Cartfile:

github "abdullahselek/DragDropUI" ~> 1.0

Обновить carthage и перетащить DragDropUI.framework в проект xCode.

Первая версия DragDropUI содержит

  • DDView
  • DDButton
  • DDImageView
  • DDLabel
  • DDTableViewCell
  • DDCollectionViewCell

Это наиболее часто используемые при drag-n-drop объекты. В следующих версиях будет больше. Эти компоненты можно просто добавлять на storyboard или в xib файлы и выставить им соответствующие классы.
Добавление кодом также поддерживается. Достаточно инициализировать их с заданным frame и добавить constraints.

Пример использования:

@IBOutlet weak var draggableView: DDView!

override func viewDidLoad() {
    super.viewDidLoad()
    draggableView.delegate = self // it is optional to catch drag and drop points
}
// MARK: DDViewDelegate

func viewWasDragged(view: UIView, draggedPoint: CGPoint) {
    print("Dragged Point : ", draggedPoint)
}

func viewWasDropped(view: UIView, droppedPoint: CGPoint) {
    print("Dropped Point : ", droppedPoint)
}

Лицензия — MIT.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *