UBottomSheet 1.0.10

UBottomSheet 1.0.10

ugur 维护。



  • uğur

Next Level

Language Version Platform License

特性
📍 支持 Apple Maps 的底栏行为
支持使用 UIScrollView 和 UIView 滑动
🌒 允许添加可调节的背景视图
📱 将底栏内容设置为 UIViewController 或 UINavigationController
📖 使用 UINavigationController 在底栏中进行导航
🌈 添加一个或多个底栏停止位置
🎯 程序化更改底栏位置
🌀 显示任意数量的底栏
🚀 同时或单独移动多个底栏
🏹 弹性效果
👋 从底部消失

演示

Apple Maps 与子项 底栏内导航 拉动以消失 多个底栏位置
Tag Tag Tag Tag

示例

要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install

底栏子视图控制器必须遵循 Draggable 协议。

class MapsDemoBottomSheetController: UIViewController, Draggable{
    @IBOutlet weak var tableView: UITableView!
      
    override func viewDidLoad() {
        super.viewDidLoad()
        if #available(iOS 11.0, *) {
            tableView.contentInsetAdjustmentBehavior = .never
        } else {
            automaticallyAdjustsScrollViewInsets = false
        }
        tableView.delegate = self
        tableView.dataSource = self
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        //adds pan gesture recognizer to draggableView()
        sheetCoordinator?.startTracking(item: self) 
    }

//  MARK: Draggable protocol implementations

    var sheetCoordinator: UBottomSheetCoordinator? 

    func draggableView() -> UIScrollView? {
        return tableView
    }
}

从主视图控制器创建一个 UBottomSheetCoordinator。使用 UBottomSheetCoordinator 添加和配置底栏。

// parentViewController: main view controller that presents the bottom sheet
// call this within viewWillLayoutSubViews to make sure view frame has measured correctly. see example projects. 
let sheetCoordinator = UBottomSheetCoordinator(parent: parentViewController)

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MapsDemoBottomSheetController") as! MapsDemoBottomSheetController

vc.sheetCoordinator = sheetCoordinator

sheetCoordinator.addSheet(vc, to: parentViewController)

要求

ios9.0+, Xcode10+

安装

UBottomSheet 通过CocoaPodsSwift 包管理器提供。

CocoaPods

将以下行添加到您的 Podfile 中

pod 'UBottomSheet'

SPM

在 XCode > 文件 > Swift 包 > 添加包依赖中添加此_URL

https://github.com/OfTheWolf/UBottomSheet

另请参阅

TwitterProfile Twitter Profile 屏幕的嵌套滚动视图行为。

作者

uğur, [email protected]

授权协议

UBottomSheet 遵循 MIT 授权协议。更多信息请参阅 LICENSE 文件。