From 26d65cdd37120c002f21ec29aa8b8b01294a963d Mon Sep 17 00:00:00 2001 From: Daniel Dahan Date: Wed, 11 Sep 2019 12:10:39 -0400 Subject: [PATCH] update sample transition projects --- .../Grid/Grid.xcodeproj/project.pbxproj | 12 -- .../Transitions.xcodeproj/project.pbxproj | 10 +- .../Transitions/PurpleViewController.swift | 196 +++++++++--------- .../project.pbxproj | 10 +- .../PurpleViewController.swift | 4 +- 5 files changed, 114 insertions(+), 118 deletions(-) diff --git a/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj b/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj index f5bd81e..062eb7d 100644 --- a/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj +++ b/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj @@ -7,10 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 964F88DD2329276C00387599 /* Motion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DC2329276C00387599 /* Motion.framework */; }; - 964F88DE2329276C00387599 /* Motion.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DC2329276C00387599 /* Motion.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 964F88E02329276C00387599 /* Material.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DF2329276C00387599 /* Material.framework */; }; - 964F88E12329276C00387599 /* Material.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DF2329276C00387599 /* Material.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 965592191DEC9553001576E7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965592181DEC9553001576E7 /* AppDelegate.swift */; }; 9655921B1DEC9553001576E7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9655921A1DEC9553001576E7 /* ViewController.swift */; }; 965592201DEC9553001576E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9655921F1DEC9553001576E7 /* Assets.xcassets */; }; @@ -24,8 +20,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 964F88DE2329276C00387599 /* Motion.framework in Embed Frameworks */, - 964F88E12329276C00387599 /* Material.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -33,8 +27,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 964F88DC2329276C00387599 /* Motion.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Motion.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 964F88DF2329276C00387599 /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Material.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 965592151DEC9553001576E7 /* Grid.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Grid.app; sourceTree = BUILT_PRODUCTS_DIR; }; 965592181DEC9553001576E7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 9655921A1DEC9553001576E7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -48,8 +40,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 964F88DD2329276C00387599 /* Motion.framework in Frameworks */, - 964F88E02329276C00387599 /* Material.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -59,8 +49,6 @@ 9655920C1DEC9553001576E7 = { isa = PBXGroup; children = ( - 964F88DF2329276C00387599 /* Material.framework */, - 964F88DC2329276C00387599 /* Motion.framework */, 965592171DEC9553001576E7 /* Grid */, 965592161DEC9553001576E7 /* Products */, ); diff --git a/Projects/Programmatic/Transitions/Transitions.xcodeproj/project.pbxproj b/Projects/Programmatic/Transitions/Transitions.xcodeproj/project.pbxproj index 997a9b7..16fa7a1 100644 --- a/Projects/Programmatic/Transitions/Transitions.xcodeproj/project.pbxproj +++ b/Projects/Programmatic/Transitions/Transitions.xcodeproj/project.pbxproj @@ -105,11 +105,12 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0820; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1030; ORGANIZATIONNAME = "CosmicMind, Inc."; TargetAttributes = { 96DCA8C21E6DC25C004EB173 = { CreatedOnToolsVersion = 8.2.1; + LastSwiftMigration = 1030; ProvisioningStyle = Automatic; }; }; @@ -119,6 +120,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -173,6 +175,7 @@ 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++"; @@ -231,6 +234,7 @@ 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++"; @@ -287,7 +291,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Transitions; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -300,7 +304,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Transitions; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Projects/Programmatic/Transitions/Transitions/PurpleViewController.swift b/Projects/Programmatic/Transitions/Transitions/PurpleViewController.swift index 2adc3aa..fcb0afb 100644 --- a/Projects/Programmatic/Transitions/Transitions/PurpleViewController.swift +++ b/Projects/Programmatic/Transitions/Transitions/PurpleViewController.swift @@ -1,142 +1,142 @@ /* - * Copyright (C) 2015 - 2018, Daniel Dahan and CosmicMind, Inc. . - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * * Neither the name of CosmicMind nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +* Copyright (C) 2015 - 2018, Daniel Dahan and CosmicMind, Inc. . +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, this +* list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* * Neither the name of CosmicMind nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ import UIKit import Material import Motion class PurpleViewController: UIViewController { - fileprivate var label = UILabel() - - open override func viewDidLoad() { - super.viewDidLoad() - prepareView() - prepareLabel() - prepareTransition() - - Motion.delay(2) { [weak self] in - self?.dismiss(animated: true) - } - } + fileprivate var label = UILabel() + + open override func viewDidLoad() { + super.viewDidLoad() + prepareView() + prepareLabel() + prepareTransition() + + Motion.delay(2) { [weak self] in + self?.dismiss(animated: true) + } + } } extension PurpleViewController { - fileprivate func prepareView() { - isMotionEnabled = true - view.backgroundColor = Color.pink.base - } - - fileprivate func prepareLabel() { - view.layout(label).edges() - label.text = "2" - label.textAlignment = .center - label.font = RobotoFont.medium(with: 400) - } - - fileprivate func prepareTransition() { -// transitionPush() -// transitionPull() -// transitionCover() -// transitionUncover() -// transitionSlide() -// transitionZoomSlide() -// transitionPageIn() -// transitionPageOut() -// transitionFade() -// transitionZoom() - transitionZoomOut() - } + fileprivate func prepareView() { + isMotionEnabled = true + view.backgroundColor = Color.pink.base + } + + fileprivate func prepareLabel() { + view.layout(label).edges() + label.text = "2" + label.textAlignment = .center + label.font = RobotoFont.medium(with: 400) + } + + fileprivate func prepareTransition() { + // transitionPush() + // transitionPull() + // transitionCover() + // transitionUncover() + // transitionSlide() + // transitionZoomSlide() + // transitionPageIn() + // transitionPageOut() + // transitionFade() + // transitionZoom() + transitionZoomOut() + } } extension PurpleViewController { - fileprivate func transitionPush() { - motionTransitionType = .autoReverse(presenting: .push(direction: .left)) - } + fileprivate func transitionPush() { + motionTransitionType = .autoReverse(presenting: .push(direction: .left)) + } } extension PurpleViewController { - fileprivate func transitionPull() { - motionTransitionType = .autoReverse(presenting: .pull(direction: .right)) - } + fileprivate func transitionPull() { + motionTransitionType = .autoReverse(presenting: .pull(direction: .right)) + } } extension PurpleViewController { - fileprivate func transitionCover() { - motionTransitionType = .autoReverse(presenting: .cover(direction: .up)) - } + fileprivate func transitionCover() { + motionTransitionType = .autoReverse(presenting: .cover(direction: .up)) + } } extension PurpleViewController { - fileprivate func transitionUncover() { - motionTransitionType = .autoReverse(presenting: .uncover(direction: .down)) - } + fileprivate func transitionUncover() { + motionTransitionType = .autoReverse(presenting: .uncover(direction: .down)) + } } extension PurpleViewController { - fileprivate func transitionSlide() { - motionTransitionType = .autoReverse(presenting: .slide(direction: .right)) - } + fileprivate func transitionSlide() { + motionTransitionType = .autoReverse(presenting: .slide(direction: .right)) + } } extension PurpleViewController { - fileprivate func transitionZoomSlide() { - motionTransitionType = .autoReverse(presenting: .zoomSlide(direction: .right)) - } + fileprivate func transitionZoomSlide() { + motionTransitionType = .autoReverse(presenting: .zoomSlide(direction: .right)) + } } extension PurpleViewController { - fileprivate func transitionPageIn() { - motionTransitionType = .autoReverse(presenting: .pageIn(direction: .left)) - } + fileprivate func transitionPageIn() { + motionTransitionType = .autoReverse(presenting: .pageIn(direction: .left)) + } } extension PurpleViewController { - fileprivate func transitionPageOut() { - motionTransitionType = .autoReverse(presenting: .pageOut(direction: .right)) - } + fileprivate func transitionPageOut() { + motionTransitionType = .autoReverse(presenting: .pageOut(direction: .right)) + } } extension PurpleViewController { - fileprivate func transitionFade() { - motionTransitionType = .autoReverse(presenting: .fade) - } + fileprivate func transitionFade() { + motionTransitionType = .autoReverse(presenting: .fade) + } } extension PurpleViewController { - fileprivate func transitionZoom() { - motionTransitionType = .autoReverse(presenting: .zoom) - } + fileprivate func transitionZoom() { + motionTransitionType = .autoReverse(presenting: .zoom) + } } extension PurpleViewController { - fileprivate func transitionZoomOut() { - motionTransitionType = .autoReverse(presenting: .zoomOut) - } + fileprivate func transitionZoomOut() { + motionTransitionType = .autoReverse(presenting: .zoomOut) + } } diff --git a/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier.xcodeproj/project.pbxproj b/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier.xcodeproj/project.pbxproj index cf925b1..760dfe7 100644 --- a/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier.xcodeproj/project.pbxproj +++ b/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier.xcodeproj/project.pbxproj @@ -105,11 +105,12 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1030; ORGANIZATIONNAME = "CosmicMind, Inc."; TargetAttributes = { 96F344D21F183E4400EE27C9 = { CreatedOnToolsVersion = 8.3.3; + LastSwiftMigration = 1030; ProvisioningStyle = Automatic; }; }; @@ -119,6 +120,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -173,6 +175,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -232,6 +235,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -293,7 +297,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.TransitionsWithIdentifier; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -310,7 +314,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.TransitionsWithIdentifier; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier/PurpleViewController.swift b/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier/PurpleViewController.swift index b91d601..35c2672 100644 --- a/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier/PurpleViewController.swift +++ b/Projects/Programmatic/TransitionsWithIdentifier/TransitionsWithIdentifier/PurpleViewController.swift @@ -71,10 +71,10 @@ extension PurpleViewController { extension PurpleViewController { fileprivate func animationMatch() { v1.motionIdentifier = "v1" - view.layout(v1).top().horizontally().height(200) + view.layout(v1).top().left().right().height(200) v2.motionIdentifier = "v2" - view.layout(v2).bottom().horizontally().height(70) + view.layout(v2).bottom().left().right().height(70) } fileprivate func animationScale() {