测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发行最新发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Aniruddha Das 维护。
它显示一个可定制的滑动菜单。您还可以在顶部显示用户图片。
1. Target OS: iOS
2. Supported OS Versions: iOS 9.0+
3. Written in: Swift
4. Supports: Swift 3.0
5. IDE: Xcode 8
6. Architectures Supported: armv7, armv7s, arm64
7. Supported devices: iPhone 5s, iPhone6 and above, and all iPads
步骤 1.
从 storyboard 将视图控制器嵌入到导航视图控制器中。为此,请执行 编辑 -> 嵌入 -> 导航控制器
步骤 2.
确保添加一些必不可少的菜单资源。
步骤 3.
在您的 ViewController.swift
中编写以下内容
import UIKit
import ADSlidePanels
class ViewController: UIViewController, ADSlidePanelViewDelegate {
var slideView: ADSlidePanelView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.addSidePanel()
self.leftBarButton()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
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()
}
func addSidePanel() {
if self.slideView != nil {
self.slideView?.removeFromSuperview()
self.slideView = nil
}
let contents = self.sidePanelContents()
self.slideView = ADSlidePanelView.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 = "Aniruddha Das"
self.slideView?.userIView.image = UIImage(named: "DP")
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 {
} else if item.title.caseInsensitiveCompare("My Jobs") == ComparisonResult.orderedSame {
}
self.removeSidePanel()
}
}
您可以根据需要设置 ADSlidePanels 的不同属性,如 backGroundColor
、separatorColor
、separatorType
、transparentViewMargin
等。如果您需要自定义它,否则它将采用默认值。