BottomSheetPresentation 0.8.0

BottomSheetPresentation 0.8.0

Jeff Kelley维护。



BottomSheetPresentation

一个用于iOS的UIPresentationController和相关类,可用于在屏幕底部展示视图控制器,类似于操作表单。

Version Documentation Carthage compatible Swift Package Manager License Platform

安装

Swift包管理器

要使用Swift包管理器(Swift Package Manager),请从Xcode中或作为Package.swift文件中的依赖项将BottomSheetPresentation添加到您的项目中。

CocoaPods

要使用CocoaPods(CocoaPods)使用BottomSheetPresentation,请将其添加到您的Podfile中的依赖项

target 'MyAwesomeApp' do
  pod 'BottomSheetPresentation'
end

然后运行pod install,并使用生成的.xcworkspace打开您的项目。

Carthage

要使用BottomSheetPresentation与Carthage,需要将依赖项添加到你的Cartfile中。

github "Detroit-Labs/BottomSheetPresentation"

运行carthage update来构建框架。然后按照Carthage的README中剩余的步骤,将框架添加到你的项目中,配置运行脚本构建阶段等。

使用BottomSheetPresentation

Swift

要使用BottomSheetPresentation,创建一个BottomSheetPresentationManager并将其设置为你要展示的视图控制器的transitioningDelegate,然后将视图控制器的modalPresentationStyle设置为.custom

let manager = BottomSheetPresentationManager() // Save this reference somewhere
let viewControllerToPresent = 
viewControllerToPresent.transitioningDelegate = manager
viewControllerToPresent.modalPresentationStyle = .custom

present(viewControllerToPresent, animated: true, completion: nil)

Objective-C

BottomSheetPresentation同样适用于Objective-C。

BottomSheetPresentationManager *manager = [[BottomSheetPresentationManager alloc] init];

UIViewController *viewControllerToPresent = …;
viewControllerToPresent.transitioningDelegate = manager;
viewControllerToPresent.modalPresentationStyle = UIModalPresentationCustom;

[self presentViewController:viewControllerToPresent
                   animated:YES
                 completion:NULL];

要求

为了正确计算展示视图控制器的尺寸,它必须满足使用systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)的高度自动布局约束条件,或者具有非零的preferredContentSize