SideMenu
轻量级 pod,用于将简单的侧边菜单集成到您的 iOS 应用中。
安装
CocoaPods
使用只需将以下行添加到 Podfile 中
pod 'HKSideMenu'
这将下载 SideMenu 二进制文件和依赖项到您的 Pods/
目录,在您下一次执行 pod install
时。
这是安装 SideMenu 特定版本的首选方式。
使用方法
- 为
创建
Menu
为此,请创建一个符合 MenuPresentable
的 UIViewController
。重写 storyboardName
- 包含 Menu 控制器 xib 的 storyboard 文件名和 controllerIdentifier
- 控制器的 storyboard Id。以下是一个放置在 Main.storyboard
中的 MenuController
MenuController 的示例
import UIKit
final class MenuController: UIViewController, MenuPresentable {
static var storyboardName: String {
return "Main"
}
static var controllerIdentifier: String {
return String(describing: MenuController.self)
}
}
注意:默认实现包含以下内容 controllerIdentifier
static var controllerIdentifier: String {
return String(describing: self)
}
- 为
SideMenu
创建RootController
这是一个将持有所有内容和侧边菜单项的控制器。
要创建 rootController,您应创建/使用类 RootSideMenuController
。此类应告知其在何处寻找 Menu
。要在加载 RootSideMenuController
之前将其告知 - 在加载 RootSideMenuController
之前设置 sideMenu 类型为 RootSideMenuAppearence.menuType
RootSideMenuAppearence.menuType = MenuController.self
完整代码
import UIKit
final class MyRootController: RootSideMenuController {
// MARK: - LifeCycle
override func viewDidLoad() {
// make sure this done before `super.viewDidLoad`, in other case you will receive assertion
RootSideMenuAppearence.menuType = MenuController.self
super.viewDidLoad()
}
}
为了控制菜单状态,请使用来自 RootSideMenuController
的 hideMenu
和 showMenu
操作。
高级配置
使用 RootSideMenuAppearence
中的不同选项来控制菜单的外观。
/// Side offset for menu - display visible gap when full menu isOpened
///
/// Default - 60.0
public static var openMenuOffset: CGFloat = 60
/// Color which used for dimming content while side menu opened
///
/// Default - UIColor.lightGray.withAlphaComponent(0.5)
public static var dimmingViewColor: UIColor = UIColor.lightGray.withAlphaComponent(0.5)
/// Indicate whenever we should used shadow on side menu while it's opened
///
/// Default - true, enabled
public static var showShadow: Bool = true
/// Shadow color for side menu, used with `showShadow` option
///
/// Default - UIColor.lightGray
public static var shadowColor: UIColor = UIColor.lightGray
/// Indicate whenever we should show side menu from left or right side
///
/// Default - Show from right
public static var showMenuOnRightSide: Bool = false
/// Indicate whenever we should allow to perform damping pan for side menu when it comes to final position
/// If enabled - make sure your side menu has some extended not clipped view
///
/// Default - false, disabled
public static var enablePanDamping: Bool = false
/// Hold registered type for side menu
public static var menuType: MenuPresentable.Type!
待办
- 测试
- 选择移动内容而不是菜单叠加
- 更多外观选项
- 从左边和右边切换的 simo 菜单
需求
- Xcode 10 或更高版本
- iOS 11 或更高版本
- Swift 5 或更高版本
- Cocoapods
许可证
联系方式
关于 CalendarView
有问题或问题?创建一个 问题!
如果您想贡献力量,只需创建一个 pull request。