侧边面板菜单 0.1.2

SidePanelMenu 0.1.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

prema janoti 维护。




SidePanelMenu

它提供了一个类似 Android 的侧边面板菜单。

安装 Cocoa Pods

如果您已安装 Cocoa Pods,则可以跳过此步骤。

$ [sudo] gem install cocoapods
$ pod setup
安装 SidePanelMenu pod

一旦 Cocoa Pods 已安装,您可以通过在项目根目录中的 Podfile 中添加依赖项输入将 SideMenuView iOS 组件添加到您的项目中。

$ edit Podfile
platform :ios, '9.0'
pod 'SidePanelMenu'

此示例显示了您可以使用它将 SideMenuView iOS 组件依赖项添加到项目的最小 Podfile。您可以根据需要包含其他依赖项。

现在您可以安装项目中的依赖项

$ pod install

安装项目中的 pod 依赖项后,确保在构建项目时始终打开 Xcode 工作区而不是项目文件

$ open App.xcworkspace

现在您可以在源文件中导入 SidePanelMenu

Swift

import SidePanelMenu

在此阶段,SideMenuView iOS 组件已在您的项目中准备好使用。

SidePanelMenu 组件使用指南

如何导入?

步骤 1. 前往您的 ViewController.swift & 导入 SidePanelMenu

步骤 2. 前往您的 ViewController.swift & 添加 SideMenuViewDelegate

步骤 3. 创建一个类型为 SideMenuView 的变量

 var slideView: SideMenuView?
如何使用?
 override func viewDidLoad() {
        super.viewDidLoad()
        self.addSidePanel()
        self.leftBarButton()
    }
func leftBarButton() {
        var leftBarButtons = [UIBarButtonItem]()
            let barButtonItem = UIBarButtonItem.init(image: UIImage(named: "menu_normal"), style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.menuButtonTapped))
            leftBarButtons.append(barButtonItem)
        if leftBarButtons.count > 0 {
            self.navigationItem.leftBarButtonItems = leftBarButtons
        }
        let backButton = UIBarButtonItem(title: "Back", style: .plain, target: self, action: nil)
        self.navigationItem.backBarButtonItem = backButton
    }
func menuButtonTapped() {
        self.showSidePanel()
    }

如果需要自定义,您可以设置 SideMenuView 的不同属性,如 backGroundColorseparatorColorseparatorTypetransparentViewMargin 等,否则它将使用默认值。

 func addSidePanel() {
        if self.slideView != nil {
            self.slideView?.removeFromSuperview()
            self.slideView = nil
        }

        let contents = self.sidePanelContents()
        self.slideView = SideMenuView.initMenuView(contents, slideDirection: .left, delegate: self)
        self.slideView?.isHidden = true
        self.slideView?.backGroundColor = UIColor.white
        self.slideView?.separatorColor = UIColor.init(colorLiteralRed: 86.0/255.0, green: 119.0/255.0, blue: 133.0/255.0, alpha: 1.0)
        self.slideView?.separatorType = UITableViewCellSeparatorStyle.singleLine
        self.slideView?.transparentViewMargin = 120
        self.view.addSubview(self.slideView!)
        self.slideView?.setupInitialConstraintWRTView(self.view, containerView: nil)
    }

    func sidePanelContents() -> [Item] {
        var sideContents = [Item]()
        let item1 = Item.init(title: "Feedback", iconName: "feedback", isSelected: false)
        sideContents.append(item1)
        let item2 = Item.init(title: "My Job", iconName: "myjobs", isSelected: false)
        sideContents.append(item2)

        return sideContents
    }
 func showSidePanel() {
        self.slideView?.lblUserName.text = "Prema Janoti"
        self.slideView?.userIView.image = UIImage(named: "placeholder")
        self.slideView?.menuTView.reloadData()
        self.slideView?.showSidePanelWithoutSlideEffectOnSuperView()
    }

    func removeSidePanel() {
        self.slideView?.removeSidePanelWithoutSlideEffectOnSuperView()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        self.removeSidePanel()
    }

使用委托方法在所选菜单项上执行操作 -

 func didSelectItem(_ item: Item) {
      if item.title.caseInsensitiveCompare("Feedback") == ComparisonResult.orderedSame {
           // Do your stuf here 
        } else if item.title.caseInsensitiveCompare("My Jobs") == ComparisonResult.orderedSame {
           // Do your stuf here
        }

     self.removeSidePanel()
    }

这里我们有侧边面板 :)