OverlappingViewsSeparator
A library for separate overlapping views with swift.
Minimum Example
import UIKit
import OverlappingViewsSeparator
class ViewController: UIViewController {
@IBOutlet private var overlappingViews: [UIView]!
private let separator = OverlappingViewsSeparator(minSpacing: 8)
override func viewDidLoad() {
super.viewDidLoad()
separator.register(views: overlappingViews)
}
@IBAction private func apply() {
separator.separate()
}
}
Installation
SwiftPM (Recommended)
- On Xcode, click
File
>Swift Packages
>Add Package Dependency...
- Input
https://github.com/malt03/OverlappingViewsSeparator.git
CocoaPods
- Insert
pod 'OverlappingViewsSeparator'
to your Podfile. - Run
pod install
.
Advanced Example
Separate with animation
separator.separate { (reflect) in
UIView.animate(withDuration: 1) {
reflect()
}
}
Register stuck view
separator.register(stuckView: stuckView)
Reset
separator.reset()
Set queue
let separator = OverlappingViewsSeparator(queue: .main) // default: .global()