CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.
TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Jan 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by prema janoti.
It gives an Android style side panel menu.
If you have already installed Cocoa Pods then you can skip this step.
$ [sudo] gem install cocoapods
$ pod setup
SidePanelMenu
podOnce Cocoa Pods has been installed, you can add SideMenuView
iOS Component to your project by adding a dependency entry to the Podfile in your project root directory.
$ edit Podfile
platform :ios, '9.0'
pod 'SidePanelMenu'
This sample shows a minimal Podfile that you can use to add SideMenuView
iOS Component dependency to your project. You can include any other dependency as required by your project.
Now you can install the dependencies in your project:
$ pod install
Once you install a pod dependency in your project, make sure to always open the Xcode workspace instead of the project file when building your project:
$ open App.xcworkspace
Now you can import SidePanelMenu
in your source files:
Swift
import SidePanelMenu
At this point SideMenuView
iOS Component is ready for use in your project.
Step 1. Go to your ViewController.swift
& import SidePanelMenu
Step 2. Go to your ViewController.swift
& add SideMenuViewDelegate
Step 3. Create a variable of type 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()
}
backGroundColor
, separatorColor
, separatorType
, transparentViewMargin
etc if you need to customize it otherwise it will take default values. 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()
}