diff --git a/.swift-version b/.swift-version
deleted file mode 100644
index 5186d07..0000000
--- a/.swift-version
+++ /dev/null
@@ -1 +0,0 @@
-4.0
diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0171050..10cb6cd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,21 @@
+5.0.0 Release notes (2019-05-30)
+=============================================================
+
+### Enhancements
+* Support Swift5.0
+
+### Bugfixes
+* None.
+
+4.2.0 Release notes (2019-01-11)
+=============================================================
+
+### Enhancements
+* Support Swift4.2
+
+### Bugfixes
+* None.
+
4.0.0 Release notes (2017-10-31)
=============================================================
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..8297e65
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,30 @@
+// swift-tools-version:5.1
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "SlideMenuController",
+ products: [
+ // Products define the executables and libraries produced by a package, and make them visible to other packages.
+ .library(
+ name: "SlideMenuController",
+ targets: ["SlideMenuController"]),
+ ],
+ dependencies: [
+ // Dependencies declare other packages that this package depends on.
+ // .package(url: /* package url */, from: "1.0.0"),
+ ],
+ targets: [
+ // Targets are the basic building blocks of a package. A target can define a module or a test suite.
+ // Targets can depend on other targets in this package, and on products in packages which this package depends on.
+ .target(
+ name: "SlideMenuController",
+ dependencies: [],
+ path: "Source"),
+ .testTarget(
+ name: "SlideMenuControllerTest",
+ dependencies: ["SlideMenuController"],
+ path: "SlideMenuControllerSwiftTests"),
+ ]
+)
diff --git a/SlideMenuControllerSwift.podspec b/SlideMenuControllerSwift.podspec
index 4512a61..25b6cc1 100644
--- a/SlideMenuControllerSwift.podspec
+++ b/SlideMenuControllerSwift.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "SlideMenuControllerSwift"
- s.version = "4.0.0"
+ s.version = "5.0.0"
s.summary = "iOS Slide View based on iQON, Feedly, Google+, Ameba iPhone app."
s.homepage = "https://github.com/dekatotoro/SlideMenuControllerSwift"
s.license = { :type => "MIT", :file => "LICENSE" }
@@ -11,4 +11,5 @@ Pod::Spec.new do |s|
s.source = { :git => "https://github.com/dekatotoro/SlideMenuControllerSwift.git", :tag => s.version }
s.source_files = "Source/*.swift"
s.requires_arc = true
+ s.swift_version = "5.0"
end
diff --git a/SlideMenuControllerSwift.xcodeproj/project.pbxproj b/SlideMenuControllerSwift.xcodeproj/project.pbxproj
index b7cc546..1a16a01 100644
--- a/SlideMenuControllerSwift.xcodeproj/project.pbxproj
+++ b/SlideMenuControllerSwift.xcodeproj/project.pbxproj
@@ -8,7 +8,6 @@
/* Begin PBXBuildFile section */
0E75C5A31BE3CA9F00844634 /* SlideMenuController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5BA8AA51A43E2EF00863FB9 /* SlideMenuController.swift */; };
- 0E75C5A61BE3CAFE00844634 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0E75C5A41BE3CAFE00844634 /* Info.plist */; };
0EB8EBFF1BE3CF3C00BC2A99 /* SlideMenuControllerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E75C5A51BE3CAFE00844634 /* SlideMenuControllerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };
C539E6471A315E87003B7CC7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C539E6461A315E87003B7CC7 /* AppDelegate.swift */; };
C539E64A1A315E87003B7CC7 /* SlideMenuControllerSwift.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = C539E6481A315E87003B7CC7 /* SlideMenuControllerSwift.xcdatamodeld */; };
@@ -323,26 +322,27 @@
attributes = {
LastSwiftMigration = 0700;
LastSwiftUpdateCheck = 0700;
- LastUpgradeCheck = 0900;
+ LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "Yuji Hato";
TargetAttributes = {
0E75C5951BE3CA7900844634 = {
CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
};
C539E6401A315E87003B7CC7 = {
CreatedOnToolsVersion = 6.1.1;
- LastSwiftMigration = 0800;
+ LastSwiftMigration = 1020;
};
C539E6581A315E87003B7CC7 = {
CreatedOnToolsVersion = 6.1.1;
- LastSwiftMigration = 0800;
+ LastSwiftMigration = 1020;
TestTargetID = C539E6401A315E87003B7CC7;
};
};
};
buildConfigurationList = C539E63C1A315E87003B7CC7 /* Build configuration list for PBXProject "SlideMenuControllerSwift" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
+ developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -375,7 +375,6 @@
C5498C801BE897660076A7C5 /* ImageHeaderView.xib in Resources */,
C5BF6A8A1BF3335D0064C18E /* SubContentsViewController.storyboard in Resources */,
C5BF6A841BEEF1E70064C18E /* DataTableViewCell.xib in Resources */,
- 0E75C5A61BE3CAFE00844634 /* Info.plist in Resources */,
C539E64F1A315E87003B7CC7 /* Main.storyboard in Resources */,
C539E6541A315E87003B7CC7 /* LaunchScreen.xib in Resources */,
C539E6511A315E87003B7CC7 /* Images.xcassets in Resources */,
@@ -482,12 +481,12 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Source/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = dekatotoro.SlideMenuControllerSwift;
PRODUCT_NAME = "$(PROJECT_NAME)";
SKIP_INSTALL = YES;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
@@ -507,12 +506,12 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Source/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = dekatotoro.SlideMenuControllerSwift;
PRODUCT_NAME = "$(PROJECT_NAME)";
SKIP_INSTALL = YES;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
@@ -522,6 +521,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -530,12 +530,14 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -562,7 +564,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -576,6 +578,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -584,12 +587,14 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -609,7 +614,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
@@ -623,12 +628,13 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = SlideMenuControllerSwift/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "dekatotoro.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -637,13 +643,14 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = SlideMenuControllerSwift/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "dekatotoro.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
@@ -652,6 +659,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
+ DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -661,7 +669,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "dekatotoro.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SlideMenuControllerSwift.app/SlideMenuControllerSwift";
};
name = Debug;
@@ -670,12 +678,13 @@
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
+ DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = SlideMenuControllerSwiftTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "dekatotoro.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SlideMenuControllerSwift.app/SlideMenuControllerSwift";
};
name = Release;
diff --git a/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..0c67376
--- /dev/null
+++ b/SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/SlideMenuControllerSwift.xcodeproj/xcshareddata/xcschemes/SlideMenuControllerSwift-iOS.xcscheme b/SlideMenuControllerSwift.xcodeproj/xcshareddata/xcschemes/SlideMenuControllerSwift-iOS.xcscheme
index e2b0e67..5bbafa1 100644
--- a/SlideMenuControllerSwift.xcodeproj/xcshareddata/xcschemes/SlideMenuControllerSwift-iOS.xcscheme
+++ b/SlideMenuControllerSwift.xcodeproj/xcshareddata/xcschemes/SlideMenuControllerSwift-iOS.xcscheme
@@ -1,6 +1,6 @@
@@ -37,7 +36,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
diff --git a/SlideMenuControllerSwift/AppDelegate.swift b/SlideMenuControllerSwift/AppDelegate.swift
index afe18f3..0b25960 100644
--- a/SlideMenuControllerSwift/AppDelegate.swift
+++ b/SlideMenuControllerSwift/AppDelegate.swift
@@ -37,7 +37,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
self.window?.makeKeyAndVisible()
}
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
self.createMenuView()
diff --git a/SlideMenuControllerSwift/BaseTableViewCell.swift b/SlideMenuControllerSwift/BaseTableViewCell.swift
index 9927cec..2606587 100644
--- a/SlideMenuControllerSwift/BaseTableViewCell.swift
+++ b/SlideMenuControllerSwift/BaseTableViewCell.swift
@@ -15,7 +15,7 @@ open class BaseTableViewCell : UITableViewCell {
setup()
}
- override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
+ override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setup()
}
diff --git a/SlideMenuControllerSwift/LeftViewController.swift b/SlideMenuControllerSwift/LeftViewController.swift
index ba71992..337ae34 100644
--- a/SlideMenuControllerSwift/LeftViewController.swift
+++ b/SlideMenuControllerSwift/LeftViewController.swift
@@ -120,7 +120,7 @@ extension LeftViewController : UITableViewDataSource {
if let menu = LeftMenu(rawValue: indexPath.row) {
switch menu {
case .main, .swift, .java, .go, .nonMenu:
- let cell = BaseTableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: BaseTableViewCell.identifier)
+ let cell = BaseTableViewCell(style: UITableViewCell.CellStyle.subtitle, reuseIdentifier: BaseTableViewCell.identifier)
cell.setData(menus[indexPath.row])
return cell
}
diff --git a/SlideMenuControllerSwift/String.swift b/SlideMenuControllerSwift/String.swift
index 61e4045..6880df0 100644
--- a/SlideMenuControllerSwift/String.swift
+++ b/SlideMenuControllerSwift/String.swift
@@ -14,10 +14,11 @@ extension String {
}
func substring(_ from: Int) -> String {
- return self.substring(from: self.characters.index(self.startIndex, offsetBy: from))
+ let index = self.index(self.startIndex, offsetBy: from)
+ return String(self.suffix(from: index))
}
var length: Int {
- return self.characters.count
+ return self.count
}
}
diff --git a/Source/SlideMenuController.swift b/Source/SlideMenuController.swift
index 08bc88c..d03aca3 100644
--- a/Source/SlideMenuController.swift
+++ b/Source/SlideMenuController.swift
@@ -29,7 +29,7 @@ public struct SlideMenuOptions {
public static var shadowOffset: CGSize = CGSize(width: 0,height: 0)
public static var panFromBezel: Bool = true
public static var animationDuration: CGFloat = 0.4
- public static var animationOptions: UIViewAnimationOptions = []
+ public static var animationOptions: UIView.AnimationOptions = []
public static var rightViewWidth: CGFloat = 270.0
public static var rightBezelWidth: CGFloat? = 16.0
public static var rightPanFromBezel: Bool = true
@@ -128,7 +128,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
opacityframe.size.height = opacityframe.size.height - opacityOffset
opacityView = UIView(frame: opacityframe)
opacityView.backgroundColor = SlideMenuOptions.opacityViewBackgroundColor
- opacityView.autoresizingMask = [UIViewAutoresizing.flexibleHeight, UIViewAutoresizing.flexibleWidth]
+ opacityView.autoresizingMask = [UIView.AutoresizingMask.flexibleHeight, UIView.AutoresizingMask.flexibleWidth]
opacityView.layer.opacity = 0.0
view.insertSubview(opacityView, at: 1)
@@ -141,7 +141,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
leftFrame.size.height = leftFrame.size.height - leftOffset
leftContainerView = UIView(frame: leftFrame)
leftContainerView.backgroundColor = UIColor.clear
- leftContainerView.autoresizingMask = UIViewAutoresizing.flexibleHeight
+ leftContainerView.autoresizingMask = UIView.AutoresizingMask.flexibleHeight
view.insertSubview(leftContainerView, at: 2)
addLeftGestures()
}
@@ -155,7 +155,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
rightFrame.size.height = rightFrame.size.height - rightOffset
rightContainerView = UIView(frame: rightFrame)
rightContainerView.backgroundColor = UIColor.clear
- rightContainerView.autoresizingMask = UIViewAutoresizing.flexibleHeight
+ rightContainerView.autoresizingMask = UIView.AutoresizingMask.flexibleHeight
view.insertSubview(rightContainerView, at: 3)
addRightGestures()
}
@@ -356,7 +356,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
static var startPointOfPan: CGPoint = CGPoint.zero
static var wasOpenAtStartOfPan: Bool = false
static var wasHiddenAtStartOfPan: Bool = false
- static var lastState : UIGestureRecognizerState = .ended
+ static var lastState : UIGestureRecognizer.State = .ended
}
@objc func handleLeftPanGesture(_ panGesture: UIPanGestureRecognizer) {
@@ -370,7 +370,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
}
switch panGesture.state {
- case UIGestureRecognizerState.began:
+ case UIGestureRecognizer.State.began:
if LeftPanState.lastState != .ended && LeftPanState.lastState != .cancelled && LeftPanState.lastState != .failed {
return
}
@@ -389,7 +389,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
leftViewController?.beginAppearanceTransition(LeftPanState.wasHiddenAtStartOfPan, animated: true)
addShadowToView(leftContainerView)
setOpenWindowLevel()
- case UIGestureRecognizerState.changed:
+ case UIGestureRecognizer.State.changed:
if LeftPanState.lastState != .began && LeftPanState.lastState != .changed {
return
}
@@ -398,7 +398,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
leftContainerView.frame = applyLeftTranslation(translation, toFrame: LeftPanState.frameAtStartOfPan)
applyLeftOpacity()
applyLeftContentViewScale()
- case UIGestureRecognizerState.ended, UIGestureRecognizerState.cancelled:
+ case UIGestureRecognizer.State.ended, UIGestureRecognizer.State.cancelled:
if LeftPanState.lastState != .changed {
setCloseWindowLevel()
return
@@ -424,8 +424,11 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
track(.leftFlickClose)
}
- case UIGestureRecognizerState.failed, UIGestureRecognizerState.possible:
+ case UIGestureRecognizer.State.failed, UIGestureRecognizer.State.possible:
break
+ @unknown default:
+ // Treat `@unknown default` same as `.failed` or `.possible`.
+ break
}
LeftPanState.lastState = panGesture.state
@@ -436,7 +439,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
static var startPointOfPan: CGPoint = CGPoint.zero
static var wasOpenAtStartOfPan: Bool = false
static var wasHiddenAtStartOfPan: Bool = false
- static var lastState : UIGestureRecognizerState = .ended
+ static var lastState : UIGestureRecognizer.State = .ended
}
@objc func handleRightPanGesture(_ panGesture: UIPanGestureRecognizer) {
@@ -450,7 +453,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
}
switch panGesture.state {
- case UIGestureRecognizerState.began:
+ case UIGestureRecognizer.State.began:
if RightPanState.lastState != .ended && RightPanState.lastState != .cancelled && RightPanState.lastState != .failed {
return
}
@@ -470,7 +473,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
addShadowToView(rightContainerView)
setOpenWindowLevel()
- case UIGestureRecognizerState.changed:
+ case UIGestureRecognizer.State.changed:
if RightPanState.lastState != .began && RightPanState.lastState != .changed {
return
}
@@ -480,7 +483,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
applyRightOpacity()
applyRightContentViewScale()
- case UIGestureRecognizerState.ended, UIGestureRecognizerState.cancelled:
+ case UIGestureRecognizer.State.ended, UIGestureRecognizer.State.cancelled:
if RightPanState.lastState != .changed {
setCloseWindowLevel()
return
@@ -505,7 +508,10 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
track(.rightFlickClose)
}
- case UIGestureRecognizerState.failed, UIGestureRecognizerState.possible:
+ case UIGestureRecognizer.State.failed, UIGestureRecognizer.State.possible:
+ break
+ @unknown default:
+ // Treat `@unknown default` same as `.failed` or `.possible`.
break
}
@@ -521,7 +527,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
var duration: TimeInterval = Double(SlideMenuOptions.animationDuration)
if velocity != 0.0 {
- duration = Double(fabs(xOrigin - finalXOrigin) / velocity)
+ duration = Double(abs(xOrigin - finalXOrigin) / velocity)
duration = Double(fmax(0.1, fmin(1.0, duration)))
}
@@ -555,7 +561,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
var duration: TimeInterval = Double(SlideMenuOptions.animationDuration)
if velocity != 0.0 {
- duration = Double(fabs(xOrigin - view.bounds.width) / velocity)
+ duration = Double(abs(xOrigin - view.bounds.width) / velocity)
duration = Double(fmax(0.1, fmin(1.0, duration)))
}
@@ -587,7 +593,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
var duration: TimeInterval = Double(SlideMenuOptions.animationDuration)
if velocity != 0.0 {
- duration = Double(fabs(xOrigin - finalXOrigin) / velocity)
+ duration = Double(abs(xOrigin - finalXOrigin) / velocity)
duration = Double(fmax(0.1, fmin(1.0, duration)))
}
@@ -618,7 +624,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
var duration: TimeInterval = Double(SlideMenuOptions.animationDuration)
if velocity != 0.0 {
- duration = Double(fabs(xOrigin - view.bounds.width) / velocity)
+ duration = Double(abs(xOrigin - view.bounds.width) / velocity)
duration = Double(fmax(0.1, fmin(1.0, duration)))
}
@@ -900,7 +906,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
if SlideMenuOptions.hideStatusBar {
DispatchQueue.main.async(execute: {
if let window = UIApplication.shared.keyWindow {
- window.windowLevel = UIWindowLevelStatusBar + 1
+ window.windowLevel = UIWindow.Level.statusBar + 1
}
})
}
@@ -910,7 +916,7 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
if SlideMenuOptions.hideStatusBar {
DispatchQueue.main.async(execute: {
if let window = UIApplication.shared.keyWindow {
- window.windowLevel = UIWindowLevelNormal
+ window.windowLevel = UIWindow.Level.normal
}
})
}
@@ -920,10 +926,10 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
if let viewController = targetViewController {
viewController.view.frame = targetView.bounds
- if (!childViewControllers.contains(viewController)) {
- addChildViewController(viewController)
+ if (!children.contains(viewController)) {
+ addChild(viewController)
targetView.addSubview(viewController.view)
- viewController.didMove(toParentViewController: self)
+ viewController.didMove(toParent: self)
}
}
}
@@ -932,9 +938,9 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {
fileprivate func removeViewController(_ viewController: UIViewController?) {
if let _viewController = viewController {
_viewController.view.layer.removeAllAnimations()
- _viewController.willMove(toParentViewController: nil)
+ _viewController.willMove(toParent: nil)
_viewController.view.removeFromSuperview()
- _viewController.removeFromParentViewController()
+ _viewController.removeFromParent()
}
}
@@ -1042,12 +1048,12 @@ extension UIViewController {
}
public func addLeftBarButtonWithImage(_ buttonImage: UIImage) {
- let leftButton: UIBarButtonItem = UIBarButtonItem(image: buttonImage, style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.toggleLeft))
+ let leftButton: UIBarButtonItem = UIBarButtonItem(image: buttonImage, style: UIBarButtonItem.Style.plain, target: self, action: #selector(self.toggleLeft))
navigationItem.leftBarButtonItem = leftButton
}
public func addRightBarButtonWithImage(_ buttonImage: UIImage) {
- let rightButton: UIBarButtonItem = UIBarButtonItem(image: buttonImage, style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.toggleRight))
+ let rightButton: UIBarButtonItem = UIBarButtonItem(image: buttonImage, style: UIBarButtonItem.Style.plain, target: self, action: #selector(self.toggleRight))
navigationItem.rightBarButtonItem = rightButton
}