BottomPopup
BottomPopup 为任何视图控制器提供类似弹出式窗口的展示风格
BottomPopup 做什么?
这是一种自定义的视图控制器展示风格,可以从屏幕底部滑动动画方式展示任何视图控制器。
它看起来像什么?
实际上取决于您的视图控制器,以下是一个真实世界的例子;
如何设置?
使用 CocoaPods(推荐)
将以下行添加到您的 Podfile 中;
pod 'BottomPopup'
然后您可以使用 pod install 命令来安装它。
手动
下载项目,只需将 BottomPopupController 下的类拖放到您的项目中。
如何使用?
安装后,只需让您的视图控制器成为 BottomPopupViewController 的子类即可。
对于导航控制器,它的作用方式完全相同,将您的导航控制器子类化为 BottomPopupNavigationController。
恭喜,您的视图控制器已准备好显示
然后您可以使用原生的 presentViewController:animated:completion: 方法来显示您的控制器,底部弹出控制器将处理其余部分。
自定义
底部弹出窗口有几个可自定义的属性。由于您的视图控制器现在是 BottomPopupViewController 的子类,所以您可以在您的视图控制器中通过重写以下属性来改变行为;
-
popupShouldDismissInteractivelty: Bool
确定弹出窗口应该以交互方式或非交互方式退出。如果设置为是,则用户可以通过向下拖动弹出窗口来退出弹出窗口。默认值为 YES
-
popupHeight: BOOL
高度值。默认值为 377 pt。例如,您可以通过返回 UIScreen.main.bounds.size.height 来提供全屏高度。
-
popupTopCornerRadius: BOOL
弹出窗口的圆角。默认值为 10pt
-
popupPresentDuration: Double
显示动画的持续时间。默认值为 0.5 秒
-
popupDismissDuration: Double
退出动画的持续时间。默认值为 0.5 秒
-
popupDimmingViewAlpha: CGFloat
在显示动画结束后,黑色的遮挡视图的目标 alpha 值。默认值为 0.5
-
popupShouldBeganDismiss: BOOL
基本上控制用户是否可以关闭弹出窗口。您可以在此变量运行时更改,以控制在特定动作上的关机行为。若要将此变量设置为 false,则在这些动作中点击遮挡视图、向下滑动遮挡视图或在弹出窗口上进行拖动手势均不起作用
-
popupViewAccessibilityIdentifier: String
弹出窗口视图的可访问性标识符。默认值为 bottomPopupView
您可以在下面看到如何更改这些属性以改变弹出窗口的行为。(动画是从示例项目中提取的)
UIViewController UINavigationController
代理
如果您想跟踪弹出窗口的生命周期或当前的摘要 dismiss 百分比,您可以设置弹出窗口代理;
popupVC.popupDelegate = self
方法
func bottomPopupViewLoaded()
func bottomPopupWillAppear()
func bottomPopupDidAppear()
func bottomPopupWillDismiss()
func bottomPopupDidDismiss()
func bottomPopupDismissInteractionPercentChanged(from oldValue: CGFloat, to newValue: CGFloat)
问题或建议
只需发送电子邮件给我([email protected])