From daeb918c4477e8ec9e12177ca90707182bcbc6df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Csoki=E2=80=9D?= <“soki@dts.co.jp”> Date: Wed, 6 Sep 2023 18:10:17 +0900 Subject: [PATCH 1/2] feat: add spm support --- .../AppIcon.appiconset/Contents.json | 79 ++++++++++++------- 1 file changed, 52 insertions(+), 27 deletions(-) diff --git a/SlideMenuControllerSwift/Images.xcassets/AppIcon.appiconset/Contents.json b/SlideMenuControllerSwift/Images.xcassets/AppIcon.appiconset/Contents.json index 36d2c80..99174b9 100644 --- a/SlideMenuControllerSwift/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/SlideMenuControllerSwift/Images.xcassets/AppIcon.appiconset/Contents.json @@ -2,67 +2,92 @@ "images" : [ { "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" + "scale" : "1x", + "size" : "29x29" }, { "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" + "scale" : "1x", + "size" : "40x40" }, { "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" + "scale" : "1x", + "size" : "76x76" }, { "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} From e94c7880ebd251e31f3489f546343fdfa4346639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Csoki=E2=80=9D?= <“soki@dts.co.jp”> Date: Wed, 6 Sep 2023 18:29:26 +0900 Subject: [PATCH 2/2] add spm support --- Package.swift | 17 +++++ SlideMenuControllerSwift.podspec | 3 +- .../project.pbxproj | 31 +++++---- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ SlideMenuControllerSwift/AppDelegate.swift | 2 +- .../BaseTableViewCell.swift | 2 +- .../LeftViewController.swift | 2 +- SlideMenuControllerSwift/String.swift | 4 +- Source/SlideMenuController.swift | 66 ++++++++++--------- 9 files changed, 84 insertions(+), 51 deletions(-) create mode 100644 Package.swift create mode 100644 SlideMenuControllerSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..9032af1 --- /dev/null +++ b/Package.swift @@ -0,0 +1,17 @@ +// swift-tools-version: 5.8 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SlideMenuControllerSwift", + products: [ + .library(name: "SlideMenuControllerSwift", + targets: ["SlideMenuControllerSwift"]) + ], + targets: [ + .target( + name: "SlideMenuControllerSwift", + path: "Source") + ] +) diff --git a/SlideMenuControllerSwift.podspec b/SlideMenuControllerSwift.podspec index 4512a61..1530590 100644 --- a/SlideMenuControllerSwift.podspec +++ b/SlideMenuControllerSwift.podspec @@ -7,8 +7,9 @@ Pod::Spec.new do |s| s.author = { "Yuji Hato" => "hatoyujidev@gmail.com" } s.social_media_url = "https://twitter.com/dekatotoro" s.platform = :ios - s.ios.deployment_target = "9.0" + s.ios.deployment_target = "11.0" s.source = { :git => "https://github.com/dekatotoro/SlideMenuControllerSwift.git", :tag => s.version } s.source_files = "Source/*.swift" + s.swift_version = "5.0" s.requires_arc = true end diff --git a/SlideMenuControllerSwift.xcodeproj/project.pbxproj b/SlideMenuControllerSwift.xcodeproj/project.pbxproj index b7cc546..f616334 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 */; }; @@ -345,6 +344,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -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 = 11.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 = 11.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 = ""; }; @@ -567,7 +566,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -613,7 +612,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -623,12 +622,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + EXCLUDED_ARCHS = ""; INFOPLIST_FILE = SlideMenuControllerSwift/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.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 +637,14 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + EXCLUDED_ARCHS = ""; INFOPLIST_FILE = SlideMenuControllerSwift/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.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; @@ -658,10 +659,11 @@ "$(inherited)", ); INFOPLIST_FILE = SlideMenuControllerSwiftTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; 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; @@ -672,10 +674,11 @@ BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = SlideMenuControllerSwiftTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; 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/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..f0904d8 100644 --- a/SlideMenuControllerSwift/String.swift +++ b/SlideMenuControllerSwift/String.swift @@ -14,10 +14,10 @@ extension String { } func substring(_ from: Int) -> String { - return self.substring(from: self.characters.index(self.startIndex, offsetBy: from)) + return self.substring(from: self.index(self.startIndex, offsetBy: from)) } var length: Int { - return self.characters.count + return self.count } } diff --git a/Source/SlideMenuController.swift b/Source/SlideMenuController.swift index 08bc88c..c948dc3 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,10 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate { track(.leftFlickClose) } - case UIGestureRecognizerState.failed, UIGestureRecognizerState.possible: + case UIGestureRecognizer.State.failed, UIGestureRecognizer.State.possible: break + @unknown default: + break } LeftPanState.lastState = panGesture.state @@ -436,7 +438,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 +452,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 +472,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 +482,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 +507,9 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate { track(.rightFlickClose) } - case UIGestureRecognizerState.failed, UIGestureRecognizerState.possible: + case UIGestureRecognizer.State.failed, UIGestureRecognizer.State.possible: + break + @unknown default: break } @@ -521,8 +525,8 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate { var duration: TimeInterval = Double(SlideMenuOptions.animationDuration) if velocity != 0.0 { - duration = Double(fabs(xOrigin - finalXOrigin) / velocity) - duration = Double(fmax(0.1, fmin(1.0, duration))) + duration = Double(abs(xOrigin - finalXOrigin) / velocity) + duration = Double(max(0.1, min(1.0, duration))) } addShadowToView(leftContainerView) @@ -555,8 +559,8 @@ 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(fmax(0.1, fmin(1.0, duration))) + duration = Double(abs(xOrigin - view.bounds.width) / velocity) + duration = Double(max(0.1, min(1.0, duration))) } addShadowToView(rightContainerView) @@ -587,8 +591,8 @@ open class SlideMenuController: UIViewController, UIGestureRecognizerDelegate { var duration: TimeInterval = Double(SlideMenuOptions.animationDuration) if velocity != 0.0 { - duration = Double(fabs(xOrigin - finalXOrigin) / velocity) - duration = Double(fmax(0.1, fmin(1.0, duration))) + duration = Double(abs(xOrigin - finalXOrigin) / velocity) + duration = Double(max(0.1, min(1.0, duration))) } UIView.animate(withDuration: duration, delay: 0.0, options: SlideMenuOptions.animationOptions, animations: { [weak self]() -> Void in @@ -618,8 +622,8 @@ 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(fmax(0.1, fmin(1.0, duration))) + duration = Double(abs(xOrigin - view.bounds.width) / velocity) + duration = Double(max(0.1, min(1.0, duration))) } UIView.animate(withDuration: duration, delay: 0.0, options: SlideMenuOptions.animationOptions, animations: { [weak self]() -> Void in @@ -900,7 +904,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 +914,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 +924,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 +936,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 +1046,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 }