最小示例
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()
}
}
安装
SwiftPM (推荐)
- 在Xcode中,点击
文件
>Swift包
>添加包依赖...
- 输入
https://github.com/malt03/OverlappingViewsSeparator.git
CocoaPods
- 在Podfile中插入
pod 'OverlappingViewsSeparator'
。 - 运行
pod install
。
高级示例
使用动画分离
separator.separate { (reflect) in
UIView.animate(withDuration: 1) {
reflect()
}
}
注册悬挂视图
separator.register(stuckView: stuckView)
重置
separator.reset()
设置队列
let separator = OverlappingViewsSeparator(queue: .main) // default: .global()