Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c0733d82a | |||
| c3671408da | |||
| 3268b15e54 |
@@ -26,14 +26,14 @@ class MainViewController: UIViewController {
|
||||
}
|
||||
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
guard let sideMenuNavigationController = segue.destination as? UISideMenuNavigationController else { return }
|
||||
guard let sideMenuNavigationController = segue.destination as? SideMenuNavigationController else { return }
|
||||
sideMenuNavigationController.settings = makeSettings()
|
||||
}
|
||||
|
||||
private func setupSideMenu() {
|
||||
// Define the menus
|
||||
SideMenuManager.default.leftMenuNavigationController = storyboard?.instantiateViewController(withIdentifier: "LeftMenuNavigationController") as? UISideMenuNavigationController
|
||||
SideMenuManager.default.rightMenuNavigationController = storyboard?.instantiateViewController(withIdentifier: "RightMenuNavigationController") as? UISideMenuNavigationController
|
||||
SideMenuManager.default.leftMenuNavigationController = storyboard?.instantiateViewController(withIdentifier: "LeftMenuNavigationController") as? SideMenuNavigationController
|
||||
SideMenuManager.default.rightMenuNavigationController = storyboard?.instantiateViewController(withIdentifier: "RightMenuNavigationController") as? SideMenuNavigationController
|
||||
|
||||
// Enable gestures. The left and/or right menus must be set up above for these to work.
|
||||
// Note that these continue to work on the Navigation Controller independent of the View Controller it displays!
|
||||
@@ -100,19 +100,19 @@ class MainViewController: UIViewController {
|
||||
|
||||
extension MainViewController: UISideMenuNavigationControllerDelegate {
|
||||
|
||||
func sideMenuWillAppear(menu: UISideMenuNavigationController, animated: Bool) {
|
||||
func sideMenuWillAppear(menu: SideMenuNavigationController, animated: Bool) {
|
||||
print("SideMenu Appearing! (animated: \(animated))")
|
||||
}
|
||||
|
||||
func sideMenuDidAppear(menu: UISideMenuNavigationController, animated: Bool) {
|
||||
func sideMenuDidAppear(menu: SideMenuNavigationController, animated: Bool) {
|
||||
print("SideMenu Appeared! (animated: \(animated))")
|
||||
}
|
||||
|
||||
func sideMenuWillDisappear(menu: UISideMenuNavigationController, animated: Bool) {
|
||||
func sideMenuWillDisappear(menu: SideMenuNavigationController, animated: Bool) {
|
||||
print("SideMenu Disappearing! (animated: \(animated))")
|
||||
}
|
||||
|
||||
func sideMenuDidDisappear(menu: UISideMenuNavigationController, animated: Bool) {
|
||||
func sideMenuDidDisappear(menu: SideMenuNavigationController, animated: Bool) {
|
||||
print("SideMenu Disappeared! (animated: \(animated))")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ class SideMenuTableViewController: UITableViewController {
|
||||
// refresh cell blur effect in case it changed
|
||||
tableView.reloadData()
|
||||
|
||||
guard let menu = navigationController as? UISideMenuNavigationController, menu.blurEffectStyle == nil else {
|
||||
guard let menu = navigationController as? SideMenuNavigationController, menu.blurEffectStyle == nil else {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ class SideMenuTableViewController: UITableViewController {
|
||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
let cell = super.tableView(tableView, cellForRowAt: indexPath) as! UITableViewVibrantCell
|
||||
|
||||
if let menu = navigationController as? UISideMenuNavigationController {
|
||||
if let menu = navigationController as? SideMenuNavigationController {
|
||||
cell.blurEffectStyle = menu.blurEffectStyle
|
||||
}
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
extension SideMenuManager {
|
||||
|
||||
@available(*, deprecated, renamed: "leftMenuNavigationController")
|
||||
open var menuLeftNavigationController: UISideMenuNavigationController? {
|
||||
open var menuLeftNavigationController: SideMenuNavigationController? {
|
||||
get { return nil }
|
||||
set {}
|
||||
}
|
||||
|
||||
@available(*, deprecated, renamed: "rightMenuNavigationController")
|
||||
open var menuRightNavigationController: UISideMenuNavigationController? {
|
||||
open var menuRightNavigationController: SideMenuNavigationController? {
|
||||
get { return nil }
|
||||
set {}
|
||||
}
|
||||
@@ -206,3 +206,6 @@ extension SideMenuPresentationStyle {
|
||||
@available(*, deprecated, renamed: "viewSlideOutMenuIn")
|
||||
public static var viewSlideInOut: SideMenuPresentationStyle { return viewSlideOutMenuIn }
|
||||
}
|
||||
|
||||
@available(*, deprecated, renamed: "SideMenuNavigationController")
|
||||
public typealias UISideMenuNavigationController = SideMenuNavigationController
|
||||
|
||||
@@ -7,12 +7,11 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
public protocol InitializableClass: class {
|
||||
internal protocol InitializableClass: class {
|
||||
init()
|
||||
}
|
||||
|
||||
public extension InitializableClass {
|
||||
|
||||
extension InitializableClass {
|
||||
init(_ block: (Self) -> Void) {
|
||||
self.init()
|
||||
block(self)
|
||||
|
||||
@@ -50,7 +50,7 @@ public class SideMenuManager: NSObject {
|
||||
}
|
||||
|
||||
/// The left menu.
|
||||
open var leftMenuNavigationController: UISideMenuNavigationController? {
|
||||
open var leftMenuNavigationController: SideMenuNavigationController? {
|
||||
get {
|
||||
if _leftMenu.value?.isHidden == true {
|
||||
_leftMenu.value?.leftSide = true
|
||||
@@ -61,7 +61,7 @@ public class SideMenuManager: NSObject {
|
||||
}
|
||||
|
||||
/// The right menu.
|
||||
open var rightMenuNavigationController: UISideMenuNavigationController? {
|
||||
open var rightMenuNavigationController: SideMenuNavigationController? {
|
||||
get {
|
||||
if _rightMenu.value?.isHidden == true {
|
||||
_rightMenu.value?.leftSide = false
|
||||
|
||||
+11
-11
@@ -17,10 +17,10 @@ import UIKit
|
||||
}
|
||||
|
||||
@objc public protocol UISideMenuNavigationControllerDelegate {
|
||||
@objc optional func sideMenuWillAppear(menu: UISideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuDidAppear(menu: UISideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuWillDisappear(menu: UISideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuDidDisappear(menu: UISideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuWillAppear(menu: SideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuDidAppear(menu: SideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuWillDisappear(menu: SideMenuNavigationController, animated: Bool)
|
||||
@objc optional func sideMenuDidDisappear(menu: SideMenuNavigationController, animated: Bool)
|
||||
}
|
||||
|
||||
internal protocol UISideMenuNavigationControllerTransitionDelegate: class {
|
||||
@@ -58,10 +58,10 @@ public struct SideMenuSettings: MenuModel, InitializableStruct {
|
||||
public init() {}
|
||||
}
|
||||
|
||||
internal typealias Menu = UISideMenuNavigationController
|
||||
internal typealias Menu = SideMenuNavigationController
|
||||
|
||||
@objcMembers
|
||||
open class UISideMenuNavigationController: UINavigationController {
|
||||
open class SideMenuNavigationController: UINavigationController {
|
||||
|
||||
private lazy var _leftSide = Protected(false) { [weak self] oldValue, newValue in
|
||||
guard self?.isHidden != false else {
|
||||
@@ -328,7 +328,7 @@ open class UISideMenuNavigationController: UINavigationController {
|
||||
}
|
||||
|
||||
// Interface
|
||||
extension UISideMenuNavigationController: MenuModel {
|
||||
extension SideMenuNavigationController: MenuModel {
|
||||
|
||||
@IBInspectable open var allowPushOfSameClassTwice: Bool {
|
||||
get { return settings.allowPushOfSameClassTwice }
|
||||
@@ -453,7 +453,7 @@ extension UISideMenuNavigationController: MenuModel {
|
||||
}
|
||||
|
||||
// IMPORTANT: These methods must be declared open or they will not be called.
|
||||
extension UISideMenuNavigationController: UIViewControllerTransitioningDelegate {
|
||||
extension SideMenuNavigationController: UIViewControllerTransitioningDelegate {
|
||||
|
||||
open func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
|
||||
transitionController = SideMenuTransitionController(
|
||||
@@ -484,7 +484,7 @@ extension UISideMenuNavigationController: UIViewControllerTransitioningDelegate
|
||||
}
|
||||
}
|
||||
|
||||
extension UISideMenuNavigationController: SideMenuTransitionControllerDelegate {
|
||||
extension SideMenuNavigationController: SideMenuTransitionControllerDelegate {
|
||||
|
||||
internal func sideMenuTransitionController(_ transitionController: SideMenuTransitionController, didDismiss viewController: UIViewController) {
|
||||
sideMenuManager.sideMenuTransitionDidDismiss(menu: self)
|
||||
@@ -497,7 +497,7 @@ extension UISideMenuNavigationController: SideMenuTransitionControllerDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
internal extension UISideMenuNavigationController {
|
||||
internal extension SideMenuNavigationController {
|
||||
|
||||
func handleMenuPan(_ gesture: UIPanGestureRecognizer, _ presenting: Bool) {
|
||||
let width = menuWidth
|
||||
@@ -538,7 +538,7 @@ internal extension UISideMenuNavigationController {
|
||||
}
|
||||
}
|
||||
|
||||
private extension UISideMenuNavigationController {
|
||||
private extension SideMenuNavigationController {
|
||||
|
||||
weak var activeDelegate: UISideMenuNavigationControllerDelegate? {
|
||||
guard !view.isHidden else { return nil }
|
||||
Generated
+4
-4
@@ -7,7 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
032FEB01E4C88E7C87032FCF9780FC7C /* UISideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F8B09C72B577EFDB20A3EFF4F0C668A /* UISideMenuNavigationController.swift */; };
|
||||
032FEB01E4C88E7C87032FCF9780FC7C /* SideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F8B09C72B577EFDB20A3EFF4F0C668A /* SideMenuNavigationController.swift */; };
|
||||
0D2D410A6087D4E0A54642165913EF30 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F10B146FA49E99D07F0FA0E38ABE8F /* Models.swift */; };
|
||||
0F9F3CABB81269CF711A73BAD21E7976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
|
||||
287FA1360FD3EF72D700C54856C685C1 /* SideMenuManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE7B8C8447DD35D435B2AF4A23E221C /* SideMenuManager.swift */; };
|
||||
@@ -59,7 +59,7 @@
|
||||
61AFB3209BCB97295281AC6437FB346B /* SideMenuPresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuPresentationController.swift; path = Pod/Classes/SideMenuPresentationController.swift; sourceTree = "<group>"; };
|
||||
7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
|
||||
8428210022E0448700C6F2D8 /* Deprecations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Pod/Classes/Deprecations.swift; sourceTree = "<group>"; };
|
||||
8F8B09C72B577EFDB20A3EFF4F0C668A /* UISideMenuNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UISideMenuNavigationController.swift; path = Pod/Classes/UISideMenuNavigationController.swift; sourceTree = "<group>"; };
|
||||
8F8B09C72B577EFDB20A3EFF4F0C668A /* SideMenuNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuNavigationController.swift; path = Pod/Classes/SideMenuNavigationController.swift; sourceTree = "<group>"; };
|
||||
9CF977D7FB42D367F2810037EBA59B7D /* SideMenu-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SideMenu-dummy.m"; sourceTree = "<group>"; };
|
||||
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
AB64592703EA9A196B5C0F07BA1A918A /* SideMenuInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuInteractionController.swift; path = Pod/Classes/SideMenuInteractionController.swift; sourceTree = "<group>"; };
|
||||
@@ -148,7 +148,7 @@
|
||||
61AFB3209BCB97295281AC6437FB346B /* SideMenuPresentationController.swift */,
|
||||
D154DB98A04C7BD96E4EFBBD3FE0008A /* SideMenuPresentationStyle.swift */,
|
||||
30C3188EE68841BE36716860BE079AF8 /* SideMenuTransitionController.swift */,
|
||||
8F8B09C72B577EFDB20A3EFF4F0C668A /* UISideMenuNavigationController.swift */,
|
||||
8F8B09C72B577EFDB20A3EFF4F0C668A /* SideMenuNavigationController.swift */,
|
||||
3ACA278071ED85D04DA83677D6C60528 /* UITableViewVibrantCell.swift */,
|
||||
);
|
||||
name = SideMenu;
|
||||
@@ -337,7 +337,7 @@
|
||||
614FC39555CB129D97FC24B2D953A427 /* SideMenuPresentationController.swift in Sources */,
|
||||
D0B45D0F0E7B359807CAFB744FB80CE4 /* SideMenuPresentationStyle.swift in Sources */,
|
||||
FCBFE25630B6309DF3213AE0F6F34D1A /* SideMenuTransitionController.swift in Sources */,
|
||||
032FEB01E4C88E7C87032FCF9780FC7C /* UISideMenuNavigationController.swift in Sources */,
|
||||
032FEB01E4C88E7C87032FCF9780FC7C /* SideMenuNavigationController.swift in Sources */,
|
||||
45A647715262A70BB9F2F4E7C1439C58 /* UITableViewVibrantCell.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "SideMenu"
|
||||
s.version = "6.1.5"
|
||||
s.version = "6.2.0"
|
||||
s.summary = "Simple side menu control for iOS in Swift inspired by Facebook. Right and Left sides. No coding required."
|
||||
|
||||
# This description is used to generate tags and improve search results.
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
842820FF22DDD24200C6F2D8 /* SideMenuInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842820FE22DDD24200C6F2D8 /* SideMenuInteractionController.swift */; };
|
||||
8428210322E0449300C6F2D8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8428210222E0449300C6F2D8 /* Deprecations.swift */; };
|
||||
8432CC0422FFBCF5003D2BBD /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8432CC0322FFBCF5003D2BBD /* ExampleTests.swift */; };
|
||||
8461A2D51E145A08001DA4F8 /* UISideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8461A2D11E145A08001DA4F8 /* UISideMenuNavigationController.swift */; };
|
||||
8461A2D51E145A08001DA4F8 /* SideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8461A2D11E145A08001DA4F8 /* SideMenuNavigationController.swift */; };
|
||||
8461A2D61E145A08001DA4F8 /* UITableViewVibrantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8461A2D21E145A08001DA4F8 /* UITableViewVibrantCell.swift */; };
|
||||
84B489B51DD469B000D6CB43 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 84B489B21DD469B000D6CB43 /* LICENSE */; };
|
||||
84B489B71DD469B000D6CB43 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 84B489B41DD469B000D6CB43 /* README.md */; };
|
||||
@@ -75,7 +75,7 @@
|
||||
8432CC0122FFBCF4003D2BBD /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8432CC0322FFBCF5003D2BBD /* ExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleTests.swift; sourceTree = "<group>"; };
|
||||
8432CC0522FFBCF5003D2BBD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8461A2D11E145A08001DA4F8 /* UISideMenuNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UISideMenuNavigationController.swift; path = Pod/Classes/UISideMenuNavigationController.swift; sourceTree = "<group>"; };
|
||||
8461A2D11E145A08001DA4F8 /* SideMenuNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuNavigationController.swift; path = Pod/Classes/SideMenuNavigationController.swift; sourceTree = "<group>"; };
|
||||
8461A2D21E145A08001DA4F8 /* UITableViewVibrantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UITableViewVibrantCell.swift; path = Pod/Classes/UITableViewVibrantCell.swift; sourceTree = "<group>"; };
|
||||
84B489B21DD469B000D6CB43 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||
84B489B41DD469B000D6CB43 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
@@ -137,7 +137,7 @@
|
||||
842820F022DDD1E800C6F2D8 /* SideMenuPresentationController.swift */,
|
||||
842820FC22DDD21100C6F2D8 /* SideMenuPresentationStyle.swift */,
|
||||
842820F222DDD1E800C6F2D8 /* SideMenuTransitionController.swift */,
|
||||
8461A2D11E145A08001DA4F8 /* UISideMenuNavigationController.swift */,
|
||||
8461A2D11E145A08001DA4F8 /* SideMenuNavigationController.swift */,
|
||||
8461A2D21E145A08001DA4F8 /* UITableViewVibrantCell.swift */,
|
||||
);
|
||||
name = Source;
|
||||
@@ -427,7 +427,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
842820EF22DDD1BC00C6F2D8 /* Protected.swift in Sources */,
|
||||
8461A2D51E145A08001DA4F8 /* UISideMenuNavigationController.swift in Sources */,
|
||||
8461A2D51E145A08001DA4F8 /* SideMenuNavigationController.swift in Sources */,
|
||||
842820FD22DDD21100C6F2D8 /* SideMenuPresentationStyle.swift in Sources */,
|
||||
842820F822DDD1E800C6F2D8 /* SideMenuTransitionController.swift in Sources */,
|
||||
842820FF22DDD24200C6F2D8 /* SideMenuInteractionController.swift in Sources */,
|
||||
|
||||
Reference in New Issue
Block a user