DPSideMenu 0.1.5

DPSideMenu 0.1.5

Daniel Ma 维护。



  • 作者
  • Daniel

DPSideMenu: Swift 的侧边菜单

CI Status Version License Platform

最棘手的部分是如何存储 interactiveTransition 的引用并将其传递给 interactionControllerForDismissal(:) 方法。

您绝对不应该在 UIViewControllerTransitioningDelegate 类中存储 presentationController 的强引用,否则将会引起保留循环的问题。因此,我们使用 interactiveTransition 的弱引用来指向存储在 presentationController 中的真实 interactiveTransition。

以下是 deinit 的顺序

<DPSideMenu.DPSlideInMenuPresentAnimationController: 0x2805103c0>
<DPSideMenu.DPSlideInMenuDismissAnimationController: 0x2805040c0>
<DPSideMenu.DPSlideInMenuPresentationController: 0x153e00b30>
<DPSideMenu.DPSlideInMenuDismissInteractiveTransition: 0x2837338d0>
<DPSideMenu_Example.MenuViewController: 0x153e00600>
<DPSideMenu_Example.ViewController: 0x153900900>
<DPSideMenu.DPSlideInMenuPresentationManager: 0x280529440>

示例

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

需求

安装

DPSideMenu 可通过 CocoaPods 获取。要安装它,只需要将以下行添加到您的 Podfile 中

pod 'DPSideMenu'

使用

import DPSideMenu
class ViewController: UIViewController {

lazy var slideInTransitioningDelegate = DPSlideInMenuPresentationManager()

@objc func didTapMenuBtn() {
    let menuController = MenuViewController()
    slideInTransitioningDelegate.direction = .leftToRight
    menuController.transitioningDelegate = slideInTransitioningDelegate
    menuController.modalPresentationStyle = .custom
    present(menuController, animated: true, completion: nil)
}

}

作者

丹尼尔·马

授权协议

DPSideMenu 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。