Drawer View Controller
Drawer视图控制器是一种简单的UI,其设计类似于Apple地图、股票和谷歌地图中使用的样式。
安装
Cocoapods
CocoaPods是Cocoa项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用CocoaPods将Xcode项目集成,在您的Podfile
中指定它
pod 'DrawerViewController', '0.0.10'
Swift Package Manager
Swift Package Manager是一个用于自动分发Swift代码的工具,并且集成到swift
编译器中。
一旦您设置了Swift包,将DrawerViewController作为依赖项添加就像将它添加到您的Package.swift
中的dependencies
值一样简单。
dependencies: [
.package(url: "https://github.com/kevcodex/DrawerViewController.git", from: "1.0.0")
]
入门
在视图控制器中添加一个新的抽屉只需要几行简单的代码。默认情况下,抽屉将显示一个灰色手柄,其位置将基于 DefaultDrawerLayout
类。
import UIKit
import DrawerViewController
class ViewController: UIViewController {
// Create the drawer
let drawer = DrawerViewController()
override func viewDidLoad() {
super.viewDidLoad()
// Create the content view controller
let contentViewController = UIViewController()
// Set the drawer delegate to allow for customization and callbacks
drawer.delegate = self
// Add the drawer to the "container"
drawer.add(to: self)
// Add the content view to the drawer
drawer.set(contentViewController: contentViewController)
// Show the drawer at the desired position
drawer.showDrawerView(at: .bottom, animated: true)
}
}
extension ViewController: DrawerViewControllerDelegate {
}
潜在改进
- 允许在水平过渡期间对尺寸进行客户端定制
- 允许对手柄的宽度和高度进行客户端定制
- 添加Carthage依赖
- 允许对抽屉布局使用自动布局而不是设置值
- 创建一个具有类似苹果地图自定义动画的“导航抽屉控制器”以在多个抽屉之间切换
- 考虑内置模糊或透明度视图,它们将根据点而不是客户端的需要自动改变
- 考虑重构DrawerScrollContentHandler以使其更好。我认为可以根据滚动视图的手势而不是使用代理来实现。