From 56562c47467a6749217cf0d376e064a782d1f1c7 Mon Sep 17 00:00:00 2001 From: Sabrina Jiang Date: Sat, 28 Sep 2019 11:10:41 +0800 Subject: [PATCH] Update swift 5 --- README.md | 8 ++--- SJDatePicker.xcodeproj/project.pbxproj | 30 ++++++++++++++---- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++++ .../UserInterfaceState.xcuserstate | Bin 58807 -> 63455 bytes .../xcschemes/SJDatePicker.xcscheme | 2 +- SJDatePicker/AppDelegate.swift | 2 +- .../CustomPresentationController.swift | 7 ++-- .../PresentedViewController.swift | 12 +++---- 8 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 SJDatePicker.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/README.md b/README.md index 40f319e..e53afce 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # SJDatePicker -DatePicker for swift 3, using **UIPresentationController** and **UIViewControllerAnimatedTransitioning**. +DatePicker for swift 5, using **UIPresentationController** and **UIViewControllerAnimatedTransitioning**. ## Example @@ -7,9 +7,9 @@ Just run the example project, or clone the repo. ## Requirements -* Xcode 8 or above -* iOS 10 -* Swift 3 +* Xcode 10 or above +* iOS 11 +* Swift 5 ![GITHUB](https://github.com/SabrinaJiang14/SJDatePicker/blob/master/Example/demo.gif "demo") diff --git a/SJDatePicker.xcodeproj/project.pbxproj b/SJDatePicker.xcodeproj/project.pbxproj index 6a9fa1d..377501a 100644 --- a/SJDatePicker.xcodeproj/project.pbxproj +++ b/SJDatePicker.xcodeproj/project.pbxproj @@ -109,7 +109,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0820; - LastUpgradeCheck = 0820; + LastUpgradeCheck = 1020; ORGANIZATIONNAME = Sabrina; TargetAttributes = { 71F93C761E9D477A00FF18AA = { @@ -122,7 +122,7 @@ }; buildConfigurationList = 71F93C721E9D477A00FF18AA /* Build configuration list for PBXProject "SJDatePicker" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -190,20 +190,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 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_DOCUMENTATION_COMMENTS = YES; 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; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -226,7 +235,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -239,20 +248,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 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_DOCUMENTATION_COMMENTS = YES; 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; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -269,7 +287,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -289,7 +307,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -304,7 +322,7 @@ PRODUCT_BUNDLE_IDENTIFIER = tw.sabrina.SJDatePicker; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/SJDatePicker.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SJDatePicker.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SJDatePicker.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SJDatePicker.xcodeproj/project.xcworkspace/xcuserdata/eileen.xcuserdatad/UserInterfaceState.xcuserstate b/SJDatePicker.xcodeproj/project.xcworkspace/xcuserdata/eileen.xcuserdatad/UserInterfaceState.xcuserstate index 933a77c1f145e0b85d96f704b19717db12d50167..ee39620c53c255eaf51393969e8f248db455c6de 100644 GIT binary patch delta 26803 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 NA^)G6|3~$T{{ZWDqzeE5 delta 24852 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 Y5v_{WMEU<6TgP9GS^xiB`_-uUUjg}7ng9R* diff --git a/SJDatePicker.xcodeproj/xcuserdata/eileen.xcuserdatad/xcschemes/SJDatePicker.xcscheme b/SJDatePicker.xcodeproj/xcuserdata/eileen.xcuserdatad/xcschemes/SJDatePicker.xcscheme index 6cf57f9..0f4ebb1 100644 --- a/SJDatePicker.xcodeproj/xcuserdata/eileen.xcuserdatad/xcschemes/SJDatePicker.xcscheme +++ b/SJDatePicker.xcodeproj/xcuserdata/eileen.xcuserdatad/xcschemes/SJDatePicker.xcscheme @@ -1,6 +1,6 @@ Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/SJDatePicker/SJDatePicker/CustomPresentationController.swift b/SJDatePicker/SJDatePicker/CustomPresentationController.swift index 04ac869..0d7604d 100644 --- a/SJDatePicker/SJDatePicker/CustomPresentationController.swift +++ b/SJDatePicker/SJDatePicker/CustomPresentationController.swift @@ -13,7 +13,7 @@ class CustomPresentationController: UIPresentationController { static let viewLeftPadding:CGFloat = 0 static let viewTopPadding:CGFloat = 170 static let viewHeight:CGFloat = 261 - static let buttonTopPadding:CGFloat = 50 + static let buttonTopPadding:CGFloat = 80 static let buttonHeight:CGFloat = 40 @@ -65,13 +65,14 @@ class CustomPresentationController: UIPresentationController { var frame = containerView.bounds frame = frame.insetBy(dx: CustomPresentationController.viewLeftPadding, dy: CustomPresentationController.viewTopPadding) - frame.origin.y = containerView.bounds.size.height - CustomPresentationController.viewHeight - CustomPresentationController.buttonTopPadding - CustomPresentationController.viewLeftPadding + frame.origin.y = containerView.bounds.size.height - CustomPresentationController.viewHeight - CustomPresentationController.buttonTopPadding - CustomPresentationController.viewLeftPadding - containerView.safeAreaInsets.bottom + 12 + frame.size.height = CustomPresentationController.viewHeight + CustomPresentationController.buttonTopPadding return frame } - func dismissSelf(){ + @objc func dismissSelf(){ self.presentedViewController.dismiss(animated: true, completion: nil) } diff --git a/SJDatePicker/SJDatePicker/PresentedViewController.swift b/SJDatePicker/SJDatePicker/PresentedViewController.swift index 026d27d..54c3936 100644 --- a/SJDatePicker/SJDatePicker/PresentedViewController.swift +++ b/SJDatePicker/SJDatePicker/PresentedViewController.swift @@ -25,16 +25,16 @@ enum dateformat:String{ class PresentedViewController: UIViewController { public var buttonColor:UIColor = UIColor.blue - public var pickerMode:UIDatePickerMode = .dateAndTime + public var pickerMode:UIDatePicker.Mode = .dateAndTime public var minimumDate:Date? = nil public var maximumDate:Date? = nil public var returnDateFormat:dateformat = .yyyy_To_ss public var titleString:String? = nil - fileprivate var picker:UIDatePicker = UIDatePicker.init() - fileprivate var confirmButton:UIButton = UIButton.init() + fileprivate var picker:UIDatePicker = UIDatePicker() + fileprivate var confirmButton:UIButton = UIButton() fileprivate let cornerRadius:CGFloat = 7.5 - fileprivate let highlightedView:UIView = UIView.init() + fileprivate let highlightedView:UIView = UIView() fileprivate let pickerHeight:CGFloat = 216 fileprivate let pickerWidth:CGFloat = UIScreen.main.bounds.size.width - 10 @@ -45,7 +45,7 @@ class PresentedViewController: UIViewController { // Do any additional setup after loading the view. if titleString != nil { - let titleLabel:UILabel = UILabel.init(frame: CGRect(x: 5, y: 0, width: pickerWidth, height: 40)) + let titleLabel:UILabel = UILabel(frame: CGRect(x: 5, y: 0, width: pickerWidth, height: 40)) titleLabel.backgroundColor = UIColor.white titleLabel.layer.cornerRadius = cornerRadius titleLabel.layer.masksToBounds = true @@ -114,7 +114,7 @@ class PresentedViewController: UIViewController { self.transitioningDelegate = self } - func confirmButton_Click(){ + @objc func confirmButton_Click(){ if block != nil { self.dismiss(animated: true, completion: nil) let df:DateFormatter = DateFormatter.init()