From 82b375de0abacf5ba15aa0ba13fcb74695421924 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 5 Jul 2022 15:34:32 +0900 Subject: [PATCH 01/79] =?UTF-8?q?Test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 4 + FlipClock/FlippableLabel.swift | 340 ++++++++++++++++++++++++++++ FlipClock/ViewController.swift | 19 +- 3 files changed, 359 insertions(+), 4 deletions(-) create mode 100644 FlipClock/FlippableLabel.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 4c5e2a3..427914a 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; BA95DE1428671BDE00041A30 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1328671BDE00041A30 /* Assets.xcassets */; }; BA95DE1728671BDE00041A30 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */; }; + BA95DE1F28671EFA00041A30 /* FlippableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -22,6 +23,7 @@ BA95DE1328671BDE00041A30 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; BA95DE1628671BDE00041A30 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; BA95DE1828671BDE00041A30 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlippableLabel.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -60,6 +62,7 @@ BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, + BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */, ); path = FlipClock; sourceTree = ""; @@ -135,6 +138,7 @@ buildActionMask = 2147483647; files = ( BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, + BA95DE1F28671EFA00041A30 /* FlippableLabel.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, ); diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift new file mode 100644 index 0000000..eb38950 --- /dev/null +++ b/FlipClock/FlippableLabel.swift @@ -0,0 +1,340 @@ +// +// FlippableLabel.swift +// FlipClock +// +// Created by 홍승현 on 2022/06/25. +// + +import UIKit + +class FlippableLabel: UIView { + + private let label: UILabel = { + let label = UILabel() + label.textAlignment = .center + label.font = .systemFont(ofSize: 90, weight: .bold) + label.text = "00" + label.textColor = .systemGray5 + return label + }() + + private let topAnimationDuration: CFTimeInterval = 0.4 + private let bottomAnimationDuration: CFTimeInterval = 0.2 + + + var text: String? { + get { + return label.text + } + + set { + guard let value = newValue else { return } + updateWithText(value) + } + } + + + private lazy var backgroundGradientLayer: CAGradientLayer = { + let gradientLayer = CAGradientLayer() + gradientLayer.frame = bounds + gradientLayer.colors = [ + UIColor(red: 0.165, green: 0.165, blue: 0.165, alpha: 1).cgColor, + UIColor(red: 0.086, green: 0.086, blue: 0.086, alpha: 1).cgColor + ] + return gradientLayer + }() + + + private var previousTextTopView: UIView! + private var previousTextBottomView: UIView! + + private var nextTextBottomView: UIView! + + + override init(frame: CGRect) { + super.init(frame: frame) + + layer.cornerRadius = 15 + + addSubview(label) + label.frame = bounds + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + + override func layoutSubviews() { + super.layoutSubviews() + setGradientBackgroundColor() + stopAnimations() + } + + + + func updateWithText(_ newText: String) { + + guard label.text != newText else { return } + + let (previousTextTopView, previousTextBottomView) = createSnapshotViews() + + label.text = newText + + let (_, nextTextBottomView) = createSnapshotViews() + + self.nextTextBottomView = nextTextBottomView + self.previousTextTopView = previousTextTopView + self.previousTextBottomView = previousTextBottomView + + [previousTextTopView, previousTextBottomView].forEach { + label.addSubview($0) + } + + + previousTextBottomView.clipsToBounds = true + + + animateTiles() + } + + private func setGradientBackgroundColor() { + + UIGraphicsBeginImageContext(bounds.size) + //create UIImage by rendering gradient layer. + backgroundGradientLayer.render(in: UIGraphicsGetCurrentContext()!) + let image = UIGraphicsGetImageFromCurrentImageContext() + UIGraphicsEndImageContext() + //get gradient UIcolor from gradient UIImage + backgroundColor = UIColor(patternImage: image!) + + } + + + /// 현재 `label`을 위 아래 절반으로 자른 이미지로 반환합니다. + /// - Returns: 윗 부분과 아랫부분의 스냅샷 + func createSnapshotViews() -> (top: UIView, bottom: UIView) { + + // 현재 label의 이미지 값을 도출 + UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) + layer.render(in: UIGraphicsGetCurrentContext()!) + let image = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + // label 높이의 절반 크기로 설정 + let snapshotSize = CGSize(width: image.size.width, height: image.size.height * 0.5) + + + // 윗부분을 이미지로 가져옴 + UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) + image.draw(at: .zero) + let topSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + // 아랫부분을 이미지로 가져옴 + UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) + image.draw(at: CGPoint(x: 0, y: -image.size.height * 0.5)) + + let bottomSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + let topView = UIImageView(image: topSnapshotImage) + let bottomView = UIImageView(image: bottomSnapshotImage) + + // bottomimageView의 y값을 label의 중간으로 설정 + bottomView.frame.origin.y = snapshotSize.height + + return (topView, bottomView) + } +} + +extension FlippableLabel { + private func animateTiles() { + shadowAnimation() + addTopTileFlippingAnimation() + addBottomShadowAnimation() + } + + /// 윗 부분과 아랫부분 글자의 그림자 애니메이션을 추가합니다. + private func shadowAnimation() { + let topViewShadow = UIView(frame: previousTextTopView.bounds) + topViewShadow.backgroundColor = .black + topViewShadow.alpha = 0 + topViewShadow.layer.cornerRadius = 15 + + previousTextTopView.addSubview(topViewShadow) + + let bottomViewShadow = UIView(frame: previousTextBottomView.bounds) + bottomViewShadow.backgroundColor = .black + bottomViewShadow.alpha = 0 + bottomViewShadow.layer.cornerRadius = 15 + + previousTextBottomView.addSubview(bottomViewShadow) + + UIView.animate(withDuration: topAnimationDuration) { + topViewShadow.alpha = 0.3 + } + + UIView.animate(withDuration: topAnimationDuration) { + bottomViewShadow.alpha = 0.2 + } + } + + private func addTopTileFlippingAnimation() { + + + // 기준점 가운데 하단으로 설정 + previousTextTopView.layer.anchorPoint = CGPoint(x: 0.5, y: 1) + + // 기준점 변경으로 인한 center값 조정 (layer Position) + previousTextTopView.center = CGPoint( + x: previousTextTopView.frame.width * 0.5, + y: previousTextTopView.frame.height + ) + + + let topAnimation = CABasicAnimation(keyPath: "transform.rotation.x") + topAnimation.duration = topAnimationDuration // 애니메이션 시간 + topAnimation.fromValue = 0 // 0부터 + topAnimation.toValue = Double.pi * 0.5 // 90도 까지 + topAnimation.delegate = self + + topAnimation.fillMode = .forwards // 애니메이션 끝난 뒤 변경상태 유지 + topAnimation.timingFunction = .init(name: .easeIn) // easeIn으로 생동감있게 표현 + + topAnimation.setValue("End", forKey: "topAnimation") // key값 설정 + + + + // 3D 변환행렬 이용하여 label 회전 + var perspectiveTransform = CATransform3DIdentity + perspectiveTransform.m34 = 0.0025 + perspectiveTransform = CATransform3DRotate(perspectiveTransform, .pi * 0.5, 1, 0, 0) + previousTextTopView.layer.transform = perspectiveTransform + + + previousTextTopView.layer.add(topAnimation, forKey: "topRotation") // 애니메이션 시작 + } + + private func addBottomShadowAnimation() { + + let bottomShadowLayer: CAShapeLayer = CAShapeLayer() + + let frame = CGRect( + x: 0, + y: 0, + width: previousTextBottomView.frame.width, + height: previousTextBottomView.frame.height * 0.8 + ) + + previousTextBottomView.layer.addSublayer(bottomShadowLayer) + + + let path = UIBezierPath() + path.move(to: .zero) + path.addLine(to: CGPoint(x: frame.width, y: 0.0)) + path.addLine(to: CGPoint(x: frame.width, y: 0.0)) + path.close() + + + bottomShadowLayer.path = path.cgPath + bottomShadowLayer.opacity = 0.3 + bottomShadowLayer.fillColor = UIColor.black.cgColor + bottomShadowLayer.frame = frame + + + let endPath = UIBezierPath() + endPath.move(to: .zero) + endPath.addLine(to: CGPoint(x: frame.width, y: 0.0)) + endPath.addLine(to: CGPoint(x: frame.width, y: frame.height)) + endPath.addLine(to: CGPoint(x: 0.0, y: frame.height)) + endPath.close() + + + let animation = CAKeyframeAnimation(keyPath: "path") + animation.values = [ + path.cgPath, + endPath.cgPath + ] + + animation.timingFunctions = [ + CAMediaTimingFunction(name: .easeIn), + CAMediaTimingFunction(name: .linear) + ] + animation.duration = topAnimationDuration + bottomAnimationDuration - 0.2 + + + bottomShadowLayer.add(animation, forKey: "shadowAnimation") + } + + private func addBottomTileAnimation() { + + label.addSubview(nextTextBottomView) + + + nextTextBottomView.layer.anchorPoint = CGPoint(x: 0.5, y: 0) + nextTextBottomView.center = CGPoint( + x: nextTextBottomView.frame.width * 0.5, + y: nextTextBottomView.frame.height + ) + + + let bottomAnimation = CABasicAnimation(keyPath:"transform.rotation.x") + bottomAnimation.duration = bottomAnimationDuration + bottomAnimation.fromValue = Double.pi * 0.5 + bottomAnimation.toValue = 0 + bottomAnimation.delegate = self + + bottomAnimation.fillMode = .forwards + bottomAnimation.timingFunction = CAMediaTimingFunction(name: .linear) + + bottomAnimation.setValue("End", forKey: "bottomAnimation") + + + var perspectiveTransform = CATransform3DIdentity + perspectiveTransform.m34 = -1 / 340 + perspectiveTransform = CATransform3DRotate(perspectiveTransform, .pi * 0.5, 1, 0, 0) + nextTextBottomView.layer.transform = perspectiveTransform + + + nextTextBottomView.layer.add(bottomAnimation, forKey: "bottomRotation") + } + + + /// 모든 애니메이션을 중지시키고, 애니메이션 이미지를 삭제합니다. + func stopAnimations() { + if nextTextBottomView != nil { + nextTextBottomView.layer.removeAllAnimations() + nextTextBottomView.removeFromSuperview() + nextTextBottomView = nil + } + + if previousTextTopView != nil { + previousTextTopView.layer.removeAllAnimations() + previousTextTopView.removeFromSuperview() + previousTextTopView = nil + } + + if previousTextBottomView != nil { + previousTextBottomView.layer.removeAllAnimations() + previousTextBottomView.removeFromSuperview() + previousTextBottomView = nil + } + } +} + + +extension FlippableLabel: CAAnimationDelegate { + + + func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { + if flag { + if anim.value(forKey: "topAnimation") != nil { + addBottomTileAnimation() + } + else if anim.value(forKey: "bottomAnimation") != nil { + stopAnimations() + } + } + } +} diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index f3eae85..c6715fc 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -8,12 +8,23 @@ import UIKit class ViewController: UIViewController { - + +// private lazy var label = FlippableLabel(frame: CGRect(x: view.center.x - 100, y: view.center.y - 100, width: 200, height: 200)) + private lazy var label = FlippableLabel(frame: view.bounds) + override func viewDidLoad() { super.viewDidLoad() - view.backgroundColor = .red +// view.backgroundColor = UIColor(red: 0.063, green: 0.063, blue: 0.063, alpha: 1) + view.backgroundColor = .white + + view.addSubview(label) + + + + + label.text = "01" } - - + + } From 7052fa4fb58e85556cb434496c56641633a873a6 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 5 Jul 2022 22:32:13 +0900 Subject: [PATCH 02/79] =?UTF-8?q?Chore:=20SnapKit=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 427914a..c763ce9 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -31,6 +32,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + BA7ECC1E287473F000511694 /* SnapKit in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -83,6 +85,9 @@ dependencies = ( ); name = FlipClock; + packageProductDependencies = ( + BA7ECC1D287473F000511694 /* SnapKit */, + ); productName = FlipClock; productReference = BA95DE0728671BDD00041A30 /* FlipClock.app */; productType = "com.apple.product-type.application"; @@ -111,6 +116,9 @@ Base, ); mainGroup = BA95DDFE28671BDD00041A30; + packageReferences = ( + BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */, + ); productRefGroup = BA95DE0828671BDD00041A30 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -348,6 +356,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/SnapKit/SnapKit.git"; + requirement = { + branch = develop; + kind = branch; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + BA7ECC1D287473F000511694 /* SnapKit */ = { + isa = XCSwiftPackageProductDependency; + package = BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */; + productName = SnapKit; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = BA95DDFF28671BDD00041A30 /* Project object */; } From 2f6ab127ec256416903b1e1e530dbcffd8b1d9f2 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 5 Jul 2022 23:01:46 +0900 Subject: [PATCH 03/79] =?UTF-8?q?Chore:=20Then=20=ED=94=84=EB=A0=88?= =?UTF-8?q?=EC=9E=84=EC=9B=8C=ED=81=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index c763ce9..721cf3b 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; + BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -33,6 +34,7 @@ buildActionMask = 2147483647; files = ( BA7ECC1E287473F000511694 /* SnapKit in Frameworks */, + BA7ECC2128747BBD00511694 /* Then in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,6 +89,7 @@ name = FlipClock; packageProductDependencies = ( BA7ECC1D287473F000511694 /* SnapKit */, + BA7ECC2028747BBD00511694 /* Then */, ); productName = FlipClock; productReference = BA95DE0728671BDD00041A30 /* FlipClock.app */; @@ -118,6 +121,7 @@ mainGroup = BA95DDFE28671BDD00041A30; packageReferences = ( BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */, + BA7ECC1F28747BBD00511694 /* XCRemoteSwiftPackageReference "Then" */, ); productRefGroup = BA95DE0828671BDD00041A30 /* Products */; projectDirPath = ""; @@ -366,6 +370,14 @@ kind = branch; }; }; + BA7ECC1F28747BBD00511694 /* XCRemoteSwiftPackageReference "Then" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/devxoul/Then.git"; + requirement = { + branch = master; + kind = branch; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -374,6 +386,11 @@ package = BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */; productName = SnapKit; }; + BA7ECC2028747BBD00511694 /* Then */ = { + isa = XCSwiftPackageProductDependency; + package = BA7ECC1F28747BBD00511694 /* XCRemoteSwiftPackageReference "Then" */; + productName = Then; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = BA95DDFF28671BDD00041A30 /* Project object */; From 05f9fab7911447008e3fd29fc83f65fdfc0120c8 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 10:02:56 +0900 Subject: [PATCH 04/79] =?UTF-8?q?Feat:=20FlipLabel=20SnapKit=20Constraint?= =?UTF-8?q?=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlippableLabel.swift | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index eb38950..42ec00d 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -7,6 +7,8 @@ import UIKit +import SnapKit + class FlippableLabel: UIView { private let label: UILabel = { @@ -57,7 +59,9 @@ class FlippableLabel: UIView { layer.cornerRadius = 15 addSubview(label) - label.frame = bounds + label.snp.makeConstraints { make in + make.edges.equalToSuperview() + } } required init?(coder: NSCoder) { @@ -68,14 +72,11 @@ class FlippableLabel: UIView { override func layoutSubviews() { super.layoutSubviews() setGradientBackgroundColor() - stopAnimations() } - func updateWithText(_ newText: String) { - - guard label.text != newText else { return } + private func updateWithText(_ newText: String) { let (previousTextTopView, previousTextBottomView) = createSnapshotViews() From b81e0498969103a649d901f9a38ba4a8ef0160c5 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 10:04:54 +0900 Subject: [PATCH 05/79] =?UTF-8?q?Feat:=20Then=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlippableLabel.swift | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index 42ec00d..d983b23 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -8,17 +8,16 @@ import UIKit import SnapKit +import Then class FlippableLabel: UIView { - private let label: UILabel = { - let label = UILabel() - label.textAlignment = .center - label.font = .systemFont(ofSize: 90, weight: .bold) - label.text = "00" - label.textColor = .systemGray5 - return label - }() + private let label = UILabel().then { + $0.textAlignment = .center + $0.font = .systemFont(ofSize: 90, weight: .bold) + $0.text = "00" + $0.textColor = .systemGray5 + } private let topAnimationDuration: CFTimeInterval = 0.4 private let bottomAnimationDuration: CFTimeInterval = 0.2 From f0e27cadf9cbee78689ac65681611492830f08b4 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 10:05:02 +0900 Subject: [PATCH 06/79] =?UTF-8?q?Test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewController.swift | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index c6715fc..a2a89f3 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -7,10 +7,19 @@ import UIKit +import SnapKit +import Then + class ViewController: UIViewController { -// private lazy var label = FlippableLabel(frame: CGRect(x: view.center.x - 100, y: view.center.y - 100, width: 200, height: 200)) - private lazy var label = FlippableLabel(frame: view.bounds) + + private lazy var label = FlippableLabel() + + var timer: Timer? + + let formatter = DateFormatter().then { + $0.dateFormat = "ss" + } override func viewDidLoad() { super.viewDidLoad() @@ -19,12 +28,24 @@ class ViewController: UIViewController { view.addSubview(label) + label.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.height.width.equalTo(200) + } + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) - - - label.text = "01" + if timer == nil { + timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(test), userInfo: nil, repeats: true) + } + } + + + @objc func test() { + label.text = formatter.string(from: .now) } } - From 29ddc66e0714ea4fb9b066ef7cbc0e1d107e7f37 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 10:34:03 +0900 Subject: [PATCH 07/79] =?UTF-8?q?Feat:=20=EC=BD=94=EB=93=9C=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlippableLabel.swift | 59 +++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index d983b23..ac97622 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -10,8 +10,12 @@ import UIKit import SnapKit import Then + + class FlippableLabel: UIView { + // MARK: - Properties + private let label = UILabel().then { $0.textAlignment = .center $0.font = .systemFont(ofSize: 90, weight: .bold) @@ -19,10 +23,6 @@ class FlippableLabel: UIView { $0.textColor = .systemGray5 } - private let topAnimationDuration: CFTimeInterval = 0.4 - private let bottomAnimationDuration: CFTimeInterval = 0.2 - - var text: String? { get { return label.text @@ -31,19 +31,21 @@ class FlippableLabel: UIView { set { guard let value = newValue else { return } updateWithText(value) + animationStart() } } - - private lazy var backgroundGradientLayer: CAGradientLayer = { - let gradientLayer = CAGradientLayer() - gradientLayer.frame = bounds - gradientLayer.colors = [ + private lazy var backgroundGradientLayer = CAGradientLayer().then { + $0.frame = bounds + $0.colors = [ UIColor(red: 0.165, green: 0.165, blue: 0.165, alpha: 1).cgColor, UIColor(red: 0.086, green: 0.086, blue: 0.086, alpha: 1).cgColor ] - return gradientLayer - }() + } + + + private let topAnimationDuration: CFTimeInterval = 0.4 + private let bottomAnimationDuration: CFTimeInterval = 0.2 private var previousTextTopView: UIView! @@ -52,6 +54,8 @@ class FlippableLabel: UIView { private var nextTextBottomView: UIView! + // MARK: - Initialization + override init(frame: CGRect) { super.init(frame: frame) @@ -66,15 +70,27 @@ class FlippableLabel: UIView { required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - +} + + +// MARK: - Layout Cycle + +extension FlippableLabel { override func layoutSubviews() { super.layoutSubviews() setGradientBackgroundColor() } +} + +// MARK: - Custom Functions + +extension FlippableLabel { - + /// Flip Animation을 하기 전에 불리는 메소드입니다. + /// label에 Flip할 이미지를 넣는 작업을 수행합니다. + /// - Parameter newText: 변경될 텍스트 private func updateWithText(_ newText: String) { let (previousTextTopView, previousTextBottomView) = createSnapshotViews() @@ -91,11 +107,7 @@ class FlippableLabel: UIView { label.addSubview($0) } - previousTextBottomView.clipsToBounds = true - - - animateTiles() } private func setGradientBackgroundColor() { @@ -148,11 +160,14 @@ class FlippableLabel: UIView { } } + +// MARK: - Animations + extension FlippableLabel { - private func animateTiles() { + private func animationStart() { shadowAnimation() - addTopTileFlippingAnimation() - addBottomShadowAnimation() + topLabelFlippingAnimation() + bottomShadowAnimation() } /// 윗 부분과 아랫부분 글자의 그림자 애니메이션을 추가합니다. @@ -180,7 +195,7 @@ extension FlippableLabel { } } - private func addTopTileFlippingAnimation() { + private func topLabelFlippingAnimation() { // 기준점 가운데 하단으로 설정 @@ -216,7 +231,7 @@ extension FlippableLabel { previousTextTopView.layer.add(topAnimation, forKey: "topRotation") // 애니메이션 시작 } - private func addBottomShadowAnimation() { + private func bottomShadowAnimation() { let bottomShadowLayer: CAShapeLayer = CAShapeLayer() From 6c79c2806d05368552d1bec8fd0fb4129dfbb419 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 10:37:56 +0900 Subject: [PATCH 08/79] =?UTF-8?q?Style:=20=EB=A9=94=EC=86=8C=EB=93=9C?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlippableLabel.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index ac97622..d773f2a 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -282,7 +282,7 @@ extension FlippableLabel { bottomShadowLayer.add(animation, forKey: "shadowAnimation") } - private func addBottomTileAnimation() { + private func bottomLabelFlippingAnimation() { label.addSubview(nextTextBottomView) @@ -345,7 +345,7 @@ extension FlippableLabel: CAAnimationDelegate { func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { if flag { if anim.value(forKey: "topAnimation") != nil { - addBottomTileAnimation() + bottomLabelFlippingAnimation() } else if anim.value(forKey: "bottomAnimation") != nil { stopAnimations() From 0706452f343260bb141af1eaf217b1ceb1a81d05 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 11:06:04 +0900 Subject: [PATCH 09/79] =?UTF-8?q?Style:=20=EC=A3=BC=EC=84=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlippableLabel.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index d773f2a..7cf3a55 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -23,6 +23,7 @@ class FlippableLabel: UIView { $0.textColor = .systemGray5 } + /// Flippable label Text var text: String? { get { return label.text @@ -43,7 +44,7 @@ class FlippableLabel: UIView { ] } - + // Flip되는 시간 설정 private let topAnimationDuration: CFTimeInterval = 0.4 private let bottomAnimationDuration: CFTimeInterval = 0.2 @@ -153,7 +154,7 @@ extension FlippableLabel { let topView = UIImageView(image: topSnapshotImage) let bottomView = UIImageView(image: bottomSnapshotImage) - // bottomimageView의 y값을 label의 중간으로 설정 + // bottomimageView를 밑에 둚 bottomView.frame.origin.y = snapshotSize.height return (topView, bottomView) From 54d7dd7131a076cd449537f40c440d8ffcc89977 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 11:06:46 +0900 Subject: [PATCH 10/79] =?UTF-8?q?Feat:=20configure=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 초기화 과정에 필수적으로 적용할 코드를 메서드로 구조화함. --- FlipClock/FlippableLabel.swift | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index 7cf3a55..bbd0ac1 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -59,14 +59,9 @@ class FlippableLabel: UIView { override init(frame: CGRect) { super.init(frame: frame) - - layer.cornerRadius = 15 - - addSubview(label) - label.snp.makeConstraints { make in - make.edges.equalToSuperview() - } + configure() } + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") @@ -84,6 +79,24 @@ extension FlippableLabel { } } + +// MARK: - Configuration + +extension FlippableLabel { + + private func configure() { + + // 모서리 둥글게 설정 + layer.cornerRadius = 15 + + // layout 세팅 + addSubview(label) + label.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } +} + // MARK: - Custom Functions extension FlippableLabel { From 38d58e44e08cabb4d0420f4d2a7f86253e797717 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 11:10:51 +0900 Subject: [PATCH 11/79] =?UTF-8?q?Style:=20=EB=A9=94=EC=84=9C=EB=93=9C?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit createSnapshotViews -> createLabelImages --- FlipClock/FlippableLabel.swift | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlippableLabel.swift index bbd0ac1..a1e761e 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlippableLabel.swift @@ -107,11 +107,11 @@ extension FlippableLabel { /// - Parameter newText: 변경될 텍스트 private func updateWithText(_ newText: String) { - let (previousTextTopView, previousTextBottomView) = createSnapshotViews() + let (previousTextTopView, previousTextBottomView) = createLabelImages() label.text = newText - let (_, nextTextBottomView) = createSnapshotViews() + let (_, nextTextBottomView) = createLabelImages() self.nextTextBottomView = nextTextBottomView self.previousTextTopView = previousTextTopView @@ -120,8 +120,6 @@ extension FlippableLabel { [previousTextTopView, previousTextBottomView].forEach { label.addSubview($0) } - - previousTextBottomView.clipsToBounds = true } private func setGradientBackgroundColor() { @@ -138,8 +136,8 @@ extension FlippableLabel { /// 현재 `label`을 위 아래 절반으로 자른 이미지로 반환합니다. - /// - Returns: 윗 부분과 아랫부분의 스냅샷 - func createSnapshotViews() -> (top: UIView, bottom: UIView) { + /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 + private func createLabelImages() -> (top: UIView, bottom: UIView) { // 현재 label의 이미지 값을 도출 UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) From 93c1bc75e997201bd5cfee72287290a0fae11e88 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 11:21:19 +0900 Subject: [PATCH 12/79] =?UTF-8?q?Style:=20=ED=81=B4=EB=9E=98=EC=8A=A4?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FlippableLabel -> Flipitem --- FlipClock.xcodeproj/project.pbxproj | 8 ++++---- .../{FlippableLabel.swift => FlipItem.swift} | 17 ++++++++--------- FlipClock/ViewController.swift | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) rename FlipClock/{FlippableLabel.swift => FlipItem.swift} (97%) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 721cf3b..46f6f18 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -14,7 +14,7 @@ BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; BA95DE1428671BDE00041A30 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1328671BDE00041A30 /* Assets.xcassets */; }; BA95DE1728671BDE00041A30 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */; }; - BA95DE1F28671EFA00041A30 /* FlippableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */; }; + BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlipItem.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -25,7 +25,7 @@ BA95DE1328671BDE00041A30 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; BA95DE1628671BDE00041A30 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; BA95DE1828671BDE00041A30 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlippableLabel.swift; sourceTree = ""; }; + BA95DE1E28671EFA00041A30 /* FlipItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItem.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -66,7 +66,7 @@ BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, - BA95DE1E28671EFA00041A30 /* FlippableLabel.swift */, + BA95DE1E28671EFA00041A30 /* FlipItem.swift */, ); path = FlipClock; sourceTree = ""; @@ -150,7 +150,7 @@ buildActionMask = 2147483647; files = ( BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, - BA95DE1F28671EFA00041A30 /* FlippableLabel.swift in Sources */, + BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, ); diff --git a/FlipClock/FlippableLabel.swift b/FlipClock/FlipItem.swift similarity index 97% rename from FlipClock/FlippableLabel.swift rename to FlipClock/FlipItem.swift index a1e761e..6bc9eaf 100644 --- a/FlipClock/FlippableLabel.swift +++ b/FlipClock/FlipItem.swift @@ -1,5 +1,5 @@ // -// FlippableLabel.swift +// FlipItem.swift // FlipClock // // Created by 홍승현 on 2022/06/25. @@ -11,8 +11,7 @@ import SnapKit import Then - -class FlippableLabel: UIView { +class FlipItem: UIView { // MARK: - Properties @@ -71,7 +70,7 @@ class FlippableLabel: UIView { // MARK: - Layout Cycle -extension FlippableLabel { +extension FlipItem { override func layoutSubviews() { super.layoutSubviews() @@ -82,7 +81,7 @@ extension FlippableLabel { // MARK: - Configuration -extension FlippableLabel { +extension FlipItem { private func configure() { @@ -99,7 +98,7 @@ extension FlippableLabel { // MARK: - Custom Functions -extension FlippableLabel { +extension FlipItem { /// Flip Animation을 하기 전에 불리는 메소드입니다. @@ -175,7 +174,7 @@ extension FlippableLabel { // MARK: - Animations -extension FlippableLabel { +extension FlipItem { private func animationStart() { shadowAnimation() topLabelFlippingAnimation() @@ -227,7 +226,7 @@ extension FlippableLabel { topAnimation.delegate = self topAnimation.fillMode = .forwards // 애니메이션 끝난 뒤 변경상태 유지 - topAnimation.timingFunction = .init(name: .easeIn) // easeIn으로 생동감있게 표현 + topAnimation.timingFunction = .init(name: .easeIn) topAnimation.setValue("End", forKey: "topAnimation") // key값 설정 @@ -351,7 +350,7 @@ extension FlippableLabel { } -extension FlippableLabel: CAAnimationDelegate { +extension FlipItem: CAAnimationDelegate { func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index a2a89f3..fa45261 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -13,7 +13,7 @@ import Then class ViewController: UIViewController { - private lazy var label = FlippableLabel() + private lazy var label = FlipItem() var timer: Timer? From f182cdd2dfffab3f4dc7a95b0f9cee5f2a152854 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 12:50:33 +0900 Subject: [PATCH 13/79] =?UTF-8?q?Feat:=20=EA=B0=80=EC=9A=B4=EB=8D=B0=20?= =?UTF-8?q?=EA=B5=AC=EB=B6=84=EC=84=A0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 6bc9eaf..cf8d18b 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -85,14 +85,28 @@ extension FlipItem { private func configure() { + let line = UIView().then { + $0.backgroundColor = .lightGray + } + + // 모서리 둥글게 설정 layer.cornerRadius = 15 // layout 세팅 addSubview(label) + addSubview(line) + + label.snp.makeConstraints { make in make.edges.equalToSuperview() } + + line.snp.makeConstraints { make in + make.height.equalTo(5) + make.centerY.equalToSuperview() + make.leading.trailing.equalToSuperview() + } } } From 7fc470abf1d69ac423a067c3a8c6aa09e8c79977 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 12:50:42 +0900 Subject: [PATCH 14/79] =?UTF-8?q?Feat:=20FlipView=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 4 +++ FlipClock/FlipView.swift | 40 +++++++++++++++++++++++++++++ FlipClock/ViewController.swift | 6 ++--- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 FlipClock/FlipView.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 46f6f18..ff1befb 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; + BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -18,6 +19,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; BA95DE0728671BDD00041A30 /* FlipClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlipClock.app; sourceTree = BUILT_PRODUCTS_DIR; }; BA95DE0A28671BDD00041A30 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -67,6 +69,7 @@ BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, BA95DE1E28671EFA00041A30 /* FlipItem.swift */, + BA7ECC222875293100511694 /* FlipView.swift */, ); path = FlipClock; sourceTree = ""; @@ -149,6 +152,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + BA7ECC232875293100511694 /* FlipView.swift in Sources */, BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, diff --git a/FlipClock/FlipView.swift b/FlipClock/FlipView.swift new file mode 100644 index 0000000..8e71b0e --- /dev/null +++ b/FlipClock/FlipView.swift @@ -0,0 +1,40 @@ +// +// FlipView.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import UIKit + +import SnapKit +import Then + + +class FlipView: UIView { + + + lazy var item = FlipItem() + + + + override init(frame: CGRect) { + super.init(frame: frame) + configure() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + + +extension FlipView { + + private func configure() { + addSubview(item) + item.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } +} diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index fa45261..93eaf48 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -13,7 +13,7 @@ import Then class ViewController: UIViewController { - private lazy var label = FlipItem() + private lazy var label = FlipView() var timer: Timer? @@ -24,7 +24,7 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // view.backgroundColor = UIColor(red: 0.063, green: 0.063, blue: 0.063, alpha: 1) - view.backgroundColor = .white + view.backgroundColor = .lightGray view.addSubview(label) @@ -44,7 +44,7 @@ class ViewController: UIViewController { @objc func test() { - label.text = formatter.string(from: .now) + label.item.text = formatter.string(from: .now) } From 9df2146891b72524f524ce9506e41a343fad4e1e Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 13:39:33 +0900 Subject: [PATCH 15/79] =?UTF-8?q?Feat:=20=EC=8B=9C=EA=B0=84,=20=EB=B6=84,?= =?UTF-8?q?=20=EC=B4=88=EC=97=90=20=EB=94=B0=EB=A5=B8=20Enum=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipView.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/FlipClock/FlipView.swift b/FlipClock/FlipView.swift index 8e71b0e..9e65844 100644 --- a/FlipClock/FlipView.swift +++ b/FlipClock/FlipView.swift @@ -13,6 +13,7 @@ import Then class FlipView: UIView { + var type: FlipItemType = .seconds lazy var item = FlipItem() @@ -38,3 +39,16 @@ extension FlipView { } } } + +// MARK: - Enums + +extension FlipView { + + enum FlipItemType { + + case hours + case minutes + case seconds + } + +} From 60beb56eceb305cb31ae1fc6d46be2e1229f16d3 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 13:42:11 +0900 Subject: [PATCH 16/79] =?UTF-8?q?Feat:=20=EC=A4=91=EA=B0=84=20=EA=B5=AC?= =?UTF-8?q?=EB=B6=84=EC=84=A0=20FlipView=20=ED=81=B4=EB=9E=98=EC=8A=A4?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 13 ------------- FlipClock/FlipView.swift | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index cf8d18b..093e5af 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -85,28 +85,15 @@ extension FlipItem { private func configure() { - let line = UIView().then { - $0.backgroundColor = .lightGray - } - - // 모서리 둥글게 설정 layer.cornerRadius = 15 // layout 세팅 addSubview(label) - addSubview(line) - label.snp.makeConstraints { make in make.edges.equalToSuperview() } - - line.snp.makeConstraints { make in - make.height.equalTo(5) - make.centerY.equalToSuperview() - make.leading.trailing.equalToSuperview() - } } } diff --git a/FlipClock/FlipView.swift b/FlipClock/FlipView.swift index 9e65844..b49b829 100644 --- a/FlipClock/FlipView.swift +++ b/FlipClock/FlipView.swift @@ -13,11 +13,14 @@ import Then class FlipView: UIView { + // MARK: - Properties + var type: FlipItemType = .seconds lazy var item = FlipItem() + // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) @@ -29,6 +32,7 @@ class FlipView: UIView { } } +// MARK: - Configuration extension FlipView { @@ -37,6 +41,16 @@ extension FlipView { item.snp.makeConstraints { make in make.edges.equalToSuperview() } + + let line = UIView().then { + $0.backgroundColor = .lightGray + } + addSubview(line) + line.snp.makeConstraints { make in + make.height.equalTo(5) + make.centerY.equalToSuperview() + make.leading.trailing.equalToSuperview() + } } } From d761fb7b843cdac52b6ddc3e315946228de86424 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 13:52:39 +0900 Subject: [PATCH 17/79] =?UTF-8?q?Feat:=20time=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=8D=BC=ED=8B=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipView.swift | 8 +++++++- FlipClock/ViewController.swift | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/FlipClock/FlipView.swift b/FlipClock/FlipView.swift index b49b829..883552d 100644 --- a/FlipClock/FlipView.swift +++ b/FlipClock/FlipView.swift @@ -17,7 +17,13 @@ class FlipView: UIView { var type: FlipItemType = .seconds - lazy var item = FlipItem() + private lazy var item = FlipItem() + + var time: String? { + didSet { + item.text = time + } + } // MARK: - Initialization diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index 93eaf48..e955658 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -44,7 +44,7 @@ class ViewController: UIViewController { @objc func test() { - label.item.text = formatter.string(from: .now) + label.time = formatter.string(from: .now) } From 6b9cf04d20006cf8f607cd1784a63b3a90e438d9 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 13:54:25 +0900 Subject: [PATCH 18/79] =?UTF-8?q?Feat:=20FlipClockView=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 4 ++++ FlipClock/FlipClockView.swift | 32 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 FlipClock/FlipClockView.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index ff1befb..e8e4c2f 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; + BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2428754CA600511694 /* FlipClockView.swift */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -20,6 +21,7 @@ /* Begin PBXFileReference section */ BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; + BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; BA95DE0728671BDD00041A30 /* FlipClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlipClock.app; sourceTree = BUILT_PRODUCTS_DIR; }; BA95DE0A28671BDD00041A30 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -70,6 +72,7 @@ BA95DE1828671BDE00041A30 /* Info.plist */, BA95DE1E28671EFA00041A30 /* FlipItem.swift */, BA7ECC222875293100511694 /* FlipView.swift */, + BA7ECC2428754CA600511694 /* FlipClockView.swift */, ); path = FlipClock; sourceTree = ""; @@ -154,6 +157,7 @@ files = ( BA7ECC232875293100511694 /* FlipView.swift in Sources */, BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, + BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift new file mode 100644 index 0000000..97f4b78 --- /dev/null +++ b/FlipClock/FlipClockView.swift @@ -0,0 +1,32 @@ +// +// FlipClockView.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import UIKit + +class FlipClockView: UIView { + + // MARK: - Initialization + override init(frame: CGRect) { + super.init(frame: frame) + configure() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +// MARK: - Configuration + +extension FlipClockView { + + func configure() { + + } + +} From c540f3d3c42f18254bc227e53565bebcf5f1ed7a Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 13:59:58 +0900 Subject: [PATCH 19/79] =?UTF-8?q?Feat:=20=EC=8B=9C=EA=B0=84,=20=EB=B6=84,?= =?UTF-8?q?=20=EC=B4=88=20=EB=8B=A8=EC=9C=84=EC=9D=98=20FlipClock=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipClockView.swift | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift index 97f4b78..c40e001 100644 --- a/FlipClock/FlipClockView.swift +++ b/FlipClock/FlipClockView.swift @@ -9,6 +9,29 @@ import UIKit class FlipClockView: UIView { + + // MARK: - Properties + + private lazy var container = UIStackView().then { + $0.alignment = .center + $0.axis = .vertical + $0.distribution = .equalSpacing + $0.spacing = 10 + } + + private lazy var hourItem = FlipView().then { + $0.type = .hours + } + + private lazy var minuteItem = FlipView().then { + $0.type = .minutes + } + + private lazy var secondItem = FlipView().then { + $0.type = .seconds + } + + // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) @@ -27,6 +50,11 @@ extension FlipClockView { func configure() { + addSubview(container) + + [hourItem, minuteItem, secondItem].forEach { + container.addArrangedSubview($0) + } } } From 751becff6b5f5fa77f46303f9663c786e7948b53 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:31:40 +0900 Subject: [PATCH 20/79] =?UTF-8?q?Feat:=20Constraint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipClockView.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift index c40e001..296c13f 100644 --- a/FlipClock/FlipClockView.swift +++ b/FlipClock/FlipClockView.swift @@ -15,7 +15,7 @@ class FlipClockView: UIView { private lazy var container = UIStackView().then { $0.alignment = .center $0.axis = .vertical - $0.distribution = .equalSpacing + $0.distribution = .fillEqually $0.spacing = 10 } @@ -55,6 +55,17 @@ extension FlipClockView { [hourItem, minuteItem, secondItem].forEach { container.addArrangedSubview($0) } + + container.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + + [hourItem, minuteItem, secondItem].forEach { view in + view.snp.makeConstraints { make in + make.width.equalTo(view.snp.height) + } + } } } From df1b21107eb82f56a755e0a5bfc66263d442d1bf Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:42:49 +0900 Subject: [PATCH 21/79] =?UTF-8?q?Feat:=20Timer=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipClockView.swift | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift index 296c13f..88fb1f6 100644 --- a/FlipClock/FlipClockView.swift +++ b/FlipClock/FlipClockView.swift @@ -7,6 +7,14 @@ import UIKit +protocol ClockDelegate { + + func start() + + func stop() +} + + class FlipClockView: UIView { @@ -31,6 +39,12 @@ class FlipClockView: UIView { $0.type = .seconds } + private var timer: Timer? + + let formatter = DateFormatter().then { + $0.dateFormat = "hh:mm:ss" + } + // MARK: - Initialization override init(frame: CGRect) { @@ -68,4 +82,22 @@ extension FlipClockView { } } + @objc func updateTime() { + let time = formatter.string(from: .now).split(separator: ":") + print(time) + } +} + +// MARK: - ClockDelegate + +extension FlipClockView: ClockDelegate { + func start() { + timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTime), userInfo: nil, repeats: true) + } + + func stop() { + timer?.invalidate() + } + + } From 6de3ea940fb6c41f50323243e975629b6643ca7e Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:45:33 +0900 Subject: [PATCH 22/79] =?UTF-8?q?Feat:=20=EA=B0=99=EC=9D=80=20=EA=B0=92?= =?UTF-8?q?=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=20=EB=8B=A8=EC=88=9C=EB=B0=98?= =?UTF-8?q?=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 093e5af..54e2cb5 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -29,7 +29,7 @@ class FlipItem: UIView { } set { - guard let value = newValue else { return } + guard let value = newValue, label.text != newValue else { return } updateWithText(value) animationStart() } From d20fd076bd90ae04f0aa4cd11cbe9015953e0ef4 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:45:45 +0900 Subject: [PATCH 23/79] =?UTF-8?q?Feat:=20FlipView=EC=97=90=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipClockView.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift index 88fb1f6..ebaefb9 100644 --- a/FlipClock/FlipClockView.swift +++ b/FlipClock/FlipClockView.swift @@ -84,7 +84,12 @@ extension FlipClockView { @objc func updateTime() { let time = formatter.string(from: .now).split(separator: ":") - print(time) + + + hourItem.time = String(time[0]) + minuteItem.time = String(time[1]) + secondItem.time = String(time[2]) + } } From 5c59a87ffb1a6beb572abf4c16e5e65be16a203d Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:48:16 +0900 Subject: [PATCH 24/79] =?UTF-8?q?Test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewController.swift | 37 ++++++++++++++-------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index e955658..15fc57f 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -13,39 +13,32 @@ import Then class ViewController: UIViewController { - private lazy var label = FlipView() - - var timer: Timer? - - let formatter = DateFormatter().then { - $0.dateFormat = "ss" - } + private lazy var label = FlipClockView() override func viewDidLoad() { super.viewDidLoad() // view.backgroundColor = UIColor(red: 0.063, green: 0.063, blue: 0.063, alpha: 1) view.backgroundColor = .lightGray - - view.addSubview(label) - - label.snp.makeConstraints { make in - make.centerX.centerY.equalToSuperview() - make.height.width.equalTo(200) - } + configure() + } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) - - if timer == nil { - timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(test), userInfo: nil, repeats: true) - } + label.start() } +} + +// MARK: - Configuration + +extension ViewController { - - @objc func test() { - label.time = formatter.string(from: .now) + private func configure() { + view.addSubview(label) + + label.snp.makeConstraints { make in + make.edges.equalTo(view.safeAreaLayoutGuide) + } } - } From 2e0cbb3e52fa476d44adf7163e1527328cb613ae Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 14:53:05 +0900 Subject: [PATCH 25/79] =?UTF-8?q?Feat:=20=ED=99=94=EB=A9=B4=20=ED=9A=8C?= =?UTF-8?q?=EC=A0=84=ED=95=A0=20=EB=95=8C=20=EC=8A=A4=ED=83=9D=EB=B7=B0=20?= =?UTF-8?q?=EC=B6=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 2 ++ FlipClock/FlipClockView.swift | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index e8e4c2f..5ab6794 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -304,6 +304,7 @@ INFOPLIST_FILE = FlipClock/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UISupportedInterfaceOrientations = ""; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( @@ -331,6 +332,7 @@ INFOPLIST_FILE = FlipClock/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UISupportedInterfaceOrientations = ""; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/FlipClock/FlipClockView.swift b/FlipClock/FlipClockView.swift index ebaefb9..ac171fa 100644 --- a/FlipClock/FlipClockView.swift +++ b/FlipClock/FlipClockView.swift @@ -55,13 +55,17 @@ class FlipClockView: UIView { required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - } // MARK: - Configuration extension FlipClockView { + override func layoutSubviews() { + super.layoutSubviews() + container.axis = UIDevice.current.orientation.isLandscape ? .horizontal : .vertical + } + func configure() { addSubview(container) From cc4063fe7120fa505a33ec9022c87ee82ef6c704 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 15:02:14 +0900 Subject: [PATCH 26/79] =?UTF-8?q?Fix:=20stackview=EC=9D=98=20=EC=B6=95?= =?UTF-8?q?=EC=9D=B4=20=EB=B0=94=EB=80=94=20=EB=95=8C=20cliptobounds?= =?UTF-8?q?=EA=B0=92=EC=9D=B4=20=EB=B0=94=EB=80=8C=EB=8A=94=20=ED=98=84?= =?UTF-8?q?=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 54e2cb5..6647184 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -75,6 +75,7 @@ extension FlipItem { override func layoutSubviews() { super.layoutSubviews() setGradientBackgroundColor() + label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) } } From ebddac090aedc1f3226c1f5c72645fb0f33fb070 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 15:56:32 +0900 Subject: [PATCH 27/79] =?UTF-8?q?Refactor:=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=97=AD=ED=95=A0=EC=97=90=20=EB=A7=9E=EA=B2=8C=20addSubviews?= =?UTF-8?q?=20=EC=BD=94=EB=93=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 6647184..23b9e63 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -13,6 +13,7 @@ import Then class FlipItem: UIView { + // MARK: - Properties private let label = UILabel().then { @@ -31,7 +32,7 @@ class FlipItem: UIView { set { guard let value = newValue, label.text != newValue else { return } updateWithText(value) - animationStart() + startAnimations() } } @@ -118,11 +119,14 @@ extension FlipItem { self.previousTextTopView = previousTextTopView self.previousTextBottomView = previousTextBottomView - [previousTextTopView, previousTextBottomView].forEach { + [previousTextTopView, previousTextBottomView, nextTextBottomView].forEach { label.addSubview($0) } + nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 } + + /// 그레디언트 백그라운드 색상을 설정합니다. private func setGradientBackgroundColor() { UIGraphicsBeginImageContext(bounds.size) @@ -177,7 +181,7 @@ extension FlipItem { // MARK: - Animations extension FlipItem { - private func animationStart() { + private func startAnimations() { shadowAnimation() topLabelFlippingAnimation() bottomShadowAnimation() @@ -208,9 +212,10 @@ extension FlipItem { } } + + /// 윗 부분의 Flip 애니메이션을 진행합니다. private func topLabelFlippingAnimation() { - // 기준점 가운데 하단으로 설정 previousTextTopView.layer.anchorPoint = CGPoint(x: 0.5, y: 1) @@ -244,6 +249,8 @@ extension FlipItem { previousTextTopView.layer.add(topAnimation, forKey: "topRotation") // 애니메이션 시작 } + + /// 위 Flip 이미지로 인한 그림자를 생성해주기 위한 애니메이션입니다. private func bottomShadowAnimation() { let bottomShadowLayer: CAShapeLayer = CAShapeLayer() @@ -295,10 +302,11 @@ extension FlipItem { bottomShadowLayer.add(animation, forKey: "shadowAnimation") } + + /// 아랫부분 이미지의 Flip 애니메이션을 진행합니다. private func bottomLabelFlippingAnimation() { - label.addSubview(nextTextBottomView) - + nextTextBottomView.isHidden = false nextTextBottomView.layer.anchorPoint = CGPoint(x: 0.5, y: 0) nextTextBottomView.center = CGPoint( @@ -314,7 +322,7 @@ extension FlipItem { bottomAnimation.delegate = self bottomAnimation.fillMode = .forwards - bottomAnimation.timingFunction = CAMediaTimingFunction(name: .linear) + bottomAnimation.timingFunction = .init(name: .linear) bottomAnimation.setValue("End", forKey: "bottomAnimation") From 5c133c0ef34b78736aeab70899cd117e0e5b6890 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 17:32:21 +0900 Subject: [PATCH 28/79] =?UTF-8?q?Feat:=20Coordinator=EB=A1=9C=20=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 16 +++++++++++ FlipClock/Coordinators/Coordinator.swift | 19 +++++++++++++ FlipClock/Coordinators/MainCoordinator.swift | 29 ++++++++++++++++++++ FlipClock/SceneDelegate.swift | 10 +++++-- FlipClock/ViewController.swift | 1 + 5 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 FlipClock/Coordinators/Coordinator.swift create mode 100644 FlipClock/Coordinators/MainCoordinator.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 5ab6794..c46ad70 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -11,6 +11,8 @@ BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2428754CA600511694 /* FlipClockView.swift */; }; + BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2828757D4200511694 /* Coordinator.swift */; }; + BA7ECC2B28757D8A00511694 /* MainCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -22,6 +24,8 @@ /* Begin PBXFileReference section */ BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; + BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; + BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainCoordinator.swift; sourceTree = ""; }; BA95DE0728671BDD00041A30 /* FlipClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlipClock.app; sourceTree = BUILT_PRODUCTS_DIR; }; BA95DE0A28671BDD00041A30 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -45,6 +49,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + BA7ECC2C28757F1500511694 /* Coordinators */ = { + isa = PBXGroup; + children = ( + BA7ECC2828757D4200511694 /* Coordinator.swift */, + BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */, + ); + path = Coordinators; + sourceTree = ""; + }; BA95DDFE28671BDD00041A30 = { isa = PBXGroup; children = ( @@ -66,6 +79,7 @@ children = ( BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, + BA7ECC2C28757F1500511694 /* Coordinators */, BA95DE0E28671BDD00041A30 /* ViewController.swift */, BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, @@ -156,11 +170,13 @@ buildActionMask = 2147483647; files = ( BA7ECC232875293100511694 /* FlipView.swift in Sources */, + BA7ECC2B28757D8A00511694 /* MainCoordinator.swift in Sources */, BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, + BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FlipClock/Coordinators/Coordinator.swift b/FlipClock/Coordinators/Coordinator.swift new file mode 100644 index 0000000..bc26ce7 --- /dev/null +++ b/FlipClock/Coordinators/Coordinator.swift @@ -0,0 +1,19 @@ +// +// Coordinator.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import UIKit + + + +protocol Coordinator: AnyObject { + + var childCoordinators: [Coordinator] { get set } + var navigationController: UINavigationController { get set } + + func start() + +} diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift new file mode 100644 index 0000000..dc05a43 --- /dev/null +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -0,0 +1,29 @@ +// +// MainCoordinator.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import Foundation +import UIKit + + +class MainCoordinator: Coordinator { + + var childCoordinators: [Coordinator] = [] + var navigationController: UINavigationController + + init(navigationController: UINavigationController) { + self.navigationController = navigationController + } + + func start() { + let vc = ViewController() + vc.coordinator = self + navigationController.pushViewController(vc, animated: false) + + } + + +} diff --git a/FlipClock/SceneDelegate.swift b/FlipClock/SceneDelegate.swift index e601059..d185959 100644 --- a/FlipClock/SceneDelegate.swift +++ b/FlipClock/SceneDelegate.swift @@ -10,6 +10,7 @@ import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? + var coordinator: MainCoordinator? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { @@ -17,10 +18,15 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). guard let scene = (scene as? UIWindowScene) else { return } - window = UIWindow(windowScene: scene) - window?.rootViewController = ViewController() + + let vc = UINavigationController() + coordinator = MainCoordinator(navigationController: vc) + + window?.rootViewController = vc window?.makeKeyAndVisible() + + coordinator?.start() } } diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewController.swift index 15fc57f..eda6984 100644 --- a/FlipClock/ViewController.swift +++ b/FlipClock/ViewController.swift @@ -12,6 +12,7 @@ import Then class ViewController: UIViewController { + weak var coordinator: MainCoordinator? private lazy var label = FlipClockView() From bb04b9f20c599660797fae26e76dc63509f64efb Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 19:35:19 +0900 Subject: [PATCH 29/79] =?UTF-8?q?Feat:=20SettingsViewController=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 14 +++++++++++++- .../ViewControllers/SettingsViewController.swift | 16 ++++++++++++++++ .../{ => ViewControllers}/ViewController.swift | 0 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 FlipClock/ViewControllers/SettingsViewController.swift rename FlipClock/{ => ViewControllers}/ViewController.swift (100%) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index c46ad70..6894189 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2428754CA600511694 /* FlipClockView.swift */; }; BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2828757D4200511694 /* Coordinator.swift */; }; BA7ECC2B28757D8A00511694 /* MainCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */; }; + BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2D28759CB200511694 /* SettingsViewController.swift */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -26,6 +27,7 @@ BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainCoordinator.swift; sourceTree = ""; }; + BA7ECC2D28759CB200511694 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; BA95DE0728671BDD00041A30 /* FlipClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlipClock.app; sourceTree = BUILT_PRODUCTS_DIR; }; BA95DE0A28671BDD00041A30 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -58,6 +60,15 @@ path = Coordinators; sourceTree = ""; }; + BA7ECC2F28759CB600511694 /* ViewControllers */ = { + isa = PBXGroup; + children = ( + BA95DE0E28671BDD00041A30 /* ViewController.swift */, + BA7ECC2D28759CB200511694 /* SettingsViewController.swift */, + ); + path = ViewControllers; + sourceTree = ""; + }; BA95DDFE28671BDD00041A30 = { isa = PBXGroup; children = ( @@ -80,7 +91,7 @@ BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, BA7ECC2C28757F1500511694 /* Coordinators */, - BA95DE0E28671BDD00041A30 /* ViewController.swift */, + BA7ECC2F28759CB600511694 /* ViewControllers */, BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, @@ -177,6 +188,7 @@ BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, + BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/ViewControllers/SettingsViewController.swift new file mode 100644 index 0000000..76c8403 --- /dev/null +++ b/FlipClock/ViewControllers/SettingsViewController.swift @@ -0,0 +1,16 @@ +// +// SettingsViewController.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import UIKit + +class SettingsViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + } + +} diff --git a/FlipClock/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift similarity index 100% rename from FlipClock/ViewController.swift rename to FlipClock/ViewControllers/ViewController.swift From e83c170119803d969e7b37ef6dc207a43d09bbcf Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 20:01:43 +0900 Subject: [PATCH 30/79] =?UTF-8?q?Feat:=20SettingCoordinator=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 4 +++ .../Coordinators/SettingCoordinator.swift | 26 +++++++++++++++++++ .../SettingsViewController.swift | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 FlipClock/Coordinators/SettingCoordinator.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 6894189..a848909 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2828757D4200511694 /* Coordinator.swift */; }; BA7ECC2B28757D8A00511694 /* MainCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */; }; BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC2D28759CB200511694 /* SettingsViewController.swift */; }; + BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC302875A04D00511694 /* SettingCoordinator.swift */; }; BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0A28671BDD00041A30 /* AppDelegate.swift */; }; BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */; }; BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE0E28671BDD00041A30 /* ViewController.swift */; }; @@ -28,6 +29,7 @@ BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainCoordinator.swift; sourceTree = ""; }; BA7ECC2D28759CB200511694 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; + BA7ECC302875A04D00511694 /* SettingCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingCoordinator.swift; sourceTree = ""; }; BA95DE0728671BDD00041A30 /* FlipClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlipClock.app; sourceTree = BUILT_PRODUCTS_DIR; }; BA95DE0A28671BDD00041A30 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -56,6 +58,7 @@ children = ( BA7ECC2828757D4200511694 /* Coordinator.swift */, BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */, + BA7ECC302875A04D00511694 /* SettingCoordinator.swift */, ); path = Coordinators; sourceTree = ""; @@ -187,6 +190,7 @@ BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, + BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, ); diff --git a/FlipClock/Coordinators/SettingCoordinator.swift b/FlipClock/Coordinators/SettingCoordinator.swift new file mode 100644 index 0000000..ff1fe81 --- /dev/null +++ b/FlipClock/Coordinators/SettingCoordinator.swift @@ -0,0 +1,26 @@ +// +// SettingCoordinator.swift +// FlipClock +// +// Created by 홍승현 on 2022/07/06. +// + +import UIKit + +class SettingCoordinator: Coordinator { + + var childCoordinators: [Coordinator] = [] + weak var parentCoordinator: MainCoordinator? + var navigationController: UINavigationController + + + init(navigationController: UINavigationController) { + self.navigationController = navigationController + } + + func start() { + let vc = SettingsViewController() + vc.coordinator = self + navigationController.pushViewController(vc, animated: true) + } +} diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/ViewControllers/SettingsViewController.swift index 76c8403..fdb0706 100644 --- a/FlipClock/ViewControllers/SettingsViewController.swift +++ b/FlipClock/ViewControllers/SettingsViewController.swift @@ -9,6 +9,8 @@ import UIKit class SettingsViewController: UIViewController { + weak var coordinator: SettingCoordinator? + override func viewDidLoad() { super.viewDidLoad() } From 0b752205d4fe210629ec18db40f97e738d2dd03f Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 20:14:04 +0900 Subject: [PATCH 31/79] =?UTF-8?q?Feat:=20child=EC=99=80=20parent=20process?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Coordinators/MainCoordinator.swift | 47 +++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift index dc05a43..d439f21 100644 --- a/FlipClock/Coordinators/MainCoordinator.swift +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -9,7 +9,7 @@ import Foundation import UIKit -class MainCoordinator: Coordinator { +class MainCoordinator: NSObject, Coordinator { var childCoordinators: [Coordinator] = [] var navigationController: UINavigationController @@ -19,11 +19,56 @@ class MainCoordinator: Coordinator { } func start() { + + navigationController.delegate = self + let vc = ViewController() vc.coordinator = self navigationController.pushViewController(vc, animated: false) + } + + + func moveToSetting() { + let child = SettingCoordinator(navigationController: navigationController) + child.parentCoordinator = self + childCoordinators.append(child) + child.start() } + func childDidFinish(_ child: Coordinator?) { + for (index, coordinator) in childCoordinators.enumerated() { + if coordinator === child { + childCoordinators.remove(at: index) + break + } + } + } +} + + +// MARK: - UINavigationControllerDelegate + +extension MainCoordinator: UINavigationControllerDelegate { + func navigationController( + _ navigationController: UINavigationController, + didShow viewController: UIViewController, + animated: Bool + ) { + + guard let fromVC = navigationController.transitionCoordinator?.viewController(forKey: .from) else { + return + } + + if navigationController.viewControllers.contains(fromVC) { + return + } + + if let settingVC = fromVC as? SettingsViewController { + childDidFinish(settingVC.coordinator) + } + + + } } From 1c2f165ca8c7b194a18832c60956ce5c1c9c2af6 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 6 Jul 2022 22:30:14 +0900 Subject: [PATCH 32/79] =?UTF-8?q?Fix:=20=ED=99=94=EB=A9=B4=20=ED=9A=8C?= =?UTF-8?q?=EC=A0=84=ED=95=A0=20=EB=95=8C=20background=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=83=9D=EA=B8=B0=EB=8A=94=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 23b9e63..8d736a0 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -37,7 +37,6 @@ class FlipItem: UIView { } private lazy var backgroundGradientLayer = CAGradientLayer().then { - $0.frame = bounds $0.colors = [ UIColor(red: 0.165, green: 0.165, blue: 0.165, alpha: 1).cgColor, UIColor(red: 0.086, green: 0.086, blue: 0.086, alpha: 1).cgColor @@ -75,8 +74,8 @@ extension FlipItem { override func layoutSubviews() { super.layoutSubviews() - setGradientBackgroundColor() label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) + setGradientBackgroundColor() } } @@ -128,7 +127,7 @@ extension FlipItem { /// 그레디언트 백그라운드 색상을 설정합니다. private func setGradientBackgroundColor() { - + backgroundGradientLayer.frame = bounds UIGraphicsBeginImageContext(bounds.size) //create UIImage by rendering gradient layer. backgroundGradientLayer.render(in: UIGraphicsGetCurrentContext()!) @@ -356,6 +355,8 @@ extension FlipItem { previousTextBottomView.removeFromSuperview() previousTextBottomView = nil } + + label.layer.sublayers = nil } } @@ -364,13 +365,11 @@ extension FlipItem: CAAnimationDelegate { func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { - if flag { - if anim.value(forKey: "topAnimation") != nil { + if flag && anim.value(forKey: "topAnimation") != nil { bottomLabelFlippingAnimation() - } - else if anim.value(forKey: "bottomAnimation") != nil { + } + else if !flag || (flag && anim.value(forKey: "bottomAnimation") != nil) { stopAnimations() - } } } } From 2fcf275c8cd370945d4ed705ca1d9452dc4cc452 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Thu, 7 Jul 2022 18:21:32 +0900 Subject: [PATCH 33/79] =?UTF-8?q?Fix:=20=EB=B0=B1=EA=B7=B8=EB=9D=BC?= =?UTF-8?q?=EC=9A=B4=EB=93=9C=20=EC=A7=84=EC=9E=85=EC=8B=9C=20=EC=83=9D?= =?UTF-8?q?=EA=B8=B0=EB=8A=94=20Flip=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 사라져야되는 텍스트가 사라지지 않는 버그 --- FlipClock/ViewControllers/ViewController.swift | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index eda6984..4f671a2 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -16,18 +16,25 @@ class ViewController: UIViewController { private lazy var label = FlipClockView() + // MARK: - Life Cycle + override func viewDidLoad() { super.viewDidLoad() // view.backgroundColor = UIColor(red: 0.063, green: 0.063, blue: 0.063, alpha: 1) view.backgroundColor = .lightGray configure() - } - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) label.start() } + + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + label.stop() + } } // MARK: - Configuration From 5e5d0a669a3836d9dbe7680923f3c17e52835213 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Thu, 7 Jul 2022 18:22:19 +0900 Subject: [PATCH 34/79] =?UTF-8?q?Feat:=20=EC=9A=B0=EC=B8=A1=20navbar=20but?= =?UTF-8?q?ton=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gear 아이콘으로 설정 - 설정페이지로 넘어가는 objc func 선언 --- FlipClock/ViewControllers/ViewController.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 4f671a2..513f1be 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -47,6 +47,19 @@ extension ViewController { label.snp.makeConstraints { make in make.edges.equalTo(view.safeAreaLayoutGuide) } + + navigationItem.rightBarButtonItem = UIBarButtonItem( + image: UIImage(systemName: "gearshape.fill"), + style: .done, + target: self, + action: #selector(goToSetting) + ) + navigationController?.navigationBar.tintColor = .label + } + + + @objc func goToSetting() { + coordinator?.moveToSetting() } } From 92feaedc34cd35c6b6dcfb79312db3ccf23e5b90 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Thu, 7 Jul 2022 22:44:28 +0900 Subject: [PATCH 35/79] =?UTF-8?q?Feat:=20=EC=8B=9C=EA=B3=84=20=EC=99=BC=20?= =?UTF-8?q?=EC=98=A4=EB=A5=B8=EC=AA=BD=20=EA=B0=84=EA=B2=A9=2040=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewControllers/ViewController.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 513f1be..3ca6580 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -45,7 +45,8 @@ extension ViewController { view.addSubview(label) label.snp.makeConstraints { make in - make.edges.equalTo(view.safeAreaLayoutGuide) + make.top.bottom.equalTo(view.safeAreaLayoutGuide) + make.leading.trailing.equalTo(view.safeAreaLayoutGuide).inset(40) } navigationItem.rightBarButtonItem = UIBarButtonItem( From 052071b4afb3bd10d3a9636d1dbc06705f829657 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 8 Jul 2022 12:15:43 +0900 Subject: [PATCH 36/79] =?UTF-8?q?Feat:=20"=EC=A4=80=EB=B9=84=EC=A4=91"=20?= =?UTF-8?q?=EB=AC=B8=EA=B5=AC=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettingsViewController.swift | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/ViewControllers/SettingsViewController.swift index fdb0706..5c07733 100644 --- a/FlipClock/ViewControllers/SettingsViewController.swift +++ b/FlipClock/ViewControllers/SettingsViewController.swift @@ -7,12 +7,36 @@ import UIKit -class SettingsViewController: UIViewController { +import SnapKit +import Then + +class SettingsViewController: UITableViewController { weak var coordinator: SettingCoordinator? override func viewDidLoad() { super.viewDidLoad() + configureUI() } +} + +// MARK: - Configuration + +extension SettingsViewController { + private func configureUI() { + view.backgroundColor = .lightGray + + let label = UILabel().then { + $0.textAlignment = .center + $0.text = "준비중이에요!" + $0.textColor = .darkGray + $0.font = .systemFont(ofSize: 30, weight: .semibold) + } + view.addSubview(label) + + label.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + } + } } From addfc1bdbb45cc2b9fffe25270d9537e556dbed5 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 8 Jul 2022 12:16:12 +0900 Subject: [PATCH 37/79] =?UTF-8?q?Feat:=20=EA=B8=B0=EB=B3=B8=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=EB=B7=B0=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewControllers/SettingsViewController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/ViewControllers/SettingsViewController.swift index 5c07733..01fa985 100644 --- a/FlipClock/ViewControllers/SettingsViewController.swift +++ b/FlipClock/ViewControllers/SettingsViewController.swift @@ -17,6 +17,7 @@ class SettingsViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() configureUI() + configureTableView() } } @@ -39,4 +40,10 @@ extension SettingsViewController { make.centerX.centerY.equalToSuperview() } } + + private func configureTableView() { + tableView.dataSource = self + tableView.delegate = self + tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") + } } From 51444d8dcba32b251a911e49f5768607f67b0ff5 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 8 Jul 2022 13:13:08 +0900 Subject: [PATCH 38/79] =?UTF-8?q?Style:=20=EC=95=B1=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppIcon.appiconset/100.png | Bin 0 -> 4557 bytes .../AppIcon.appiconset/1024.png | Bin 0 -> 37167 bytes .../AppIcon.appiconset/114.png | Bin 0 -> 5172 bytes .../AppIcon.appiconset/120.png | Bin 0 -> 5357 bytes .../AppIcon.appiconset/144.png | Bin 0 -> 6547 bytes .../AppIcon.appiconset/152.png | Bin 0 -> 6866 bytes .../AppIcon.appiconset/167.png | Bin 0 -> 7561 bytes .../AppIcon.appiconset/180.png | Bin 0 -> 8087 bytes .../Assets.xcassets/AppIcon.appiconset/20.png | Bin 0 -> 879 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 0 -> 1294 bytes .../Assets.xcassets/AppIcon.appiconset/40.png | Bin 0 -> 1788 bytes .../Assets.xcassets/AppIcon.appiconset/50.png | Bin 0 -> 2258 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 0 -> 2591 bytes .../Assets.xcassets/AppIcon.appiconset/58.png | Bin 0 -> 2637 bytes .../Assets.xcassets/AppIcon.appiconset/60.png | Bin 0 -> 2738 bytes .../Assets.xcassets/AppIcon.appiconset/72.png | Bin 0 -> 3289 bytes .../Assets.xcassets/AppIcon.appiconset/76.png | Bin 0 -> 3483 bytes .../Assets.xcassets/AppIcon.appiconset/80.png | Bin 0 -> 3704 bytes .../Assets.xcassets/AppIcon.appiconset/87.png | Bin 0 -> 4105 bytes .../AppIcon.appiconset/Contents.json | 99 +----------------- 20 files changed, 1 insertion(+), 98 deletions(-) create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/100.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/1024.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/114.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/120.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/144.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/152.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/167.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/180.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/20.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/29.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/40.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/50.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/57.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/58.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/60.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/72.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/76.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/80.png create mode 100644 FlipClock/Assets.xcassets/AppIcon.appiconset/87.png diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/100.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000000000000000000000000000000000000..1df31ea291fb2316aa1b32649be327cb95efe3ef GIT binary patch literal 4557 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 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/114.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 0000000000000000000000000000000000000000..6255c5ba9e93f12f81c718f58ad1c15ebfbd8542 GIT binary patch literal 5172 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 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/144.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000000000000000000000000000000000000..d24424de6d543b2554276599cd5cf6972746ac7b GIT binary patch literal 6547 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 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/167.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000000000000000000000000000000000000..89baa204fc7b09394587aac9cad9d01ea2fde2ab GIT binary patch literal 7561 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 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/180.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000000000000000000000000000000000..ee58912503e89286c86ce6602ff69c674b71f16b GIT binary patch literal 8087 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 WoK$hc_rX6=T=SvsgR=WpZ~g~%_up~= literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/20.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/20.png new file mode 100644 index 0000000000000000000000000000000000000000..2dccf70c9ec6e3b67e29d5e708112b307538aa0a GIT binary patch literal 879 zcmV-#1CacQP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR916rckD1ONa40RR916aWAK0J7ci{Qv+0*-1n}R5%f>R6Q)SQ51e!uU7oj zPb?yIHi$%xVq%dl62hW7lrCcEVzOFHk}_Z+2C*4PnpA>`QGysqIyBWm8u3qC$9+z| z+i3HB-{dB@xA&fNpL5RhocFrg+uH@dINZO8rBKe_09`JZ9*dMGZ_g|5{PZgWbi3W4 z@$>Uj?|3{O5ajFYOZUZMu@X!DdCvwb0rK$m^%aiepslS<9q;b$6s)$kR`)eEHD!PV zsj8|%KA+blxK}`ey}Z1jx3?Gb^YiHH>QaD+9>KYgsAS{D}dQ$HzxmSXdBKwwMg0zP?^pQ@boLFH1I? zmHz&IX>Dy46F?k_z}eE$qWl;KG&MDWCGmfuP(V*l54>J4d_JH0kn7>$VMHPkY;JDi z{QO++P&Bv61|<9P@=^i%`ua2gOBfs+L^_?u!@~pW>grTUiogU01_p3*bAz3o9ko$R zVmZ8M%0M!iM0a;Lrl+SdK0dC-lamvqQmGP01bcpdR`G(tAa-|mH4#?CN;n+$97(41 z6yxgZN=xK=dU}e3g98m__|+g3aB^}|TkGiPNI`g35`{!IH#f`J*q9^|2^kt1;^(0= z8jXr+Ckcnc>OJBv^#gyZ95#9}f13Ro7^X7g`tZQ=U* zT7#5I{e$YV&zJpL2+mKBBxf=iZ6BU-&n#IDg&`2RuN);n8VE{9D^%s~EF5kPWTl8LI#Q002ovPDHLk FV1iqDfwlku literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/29.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000000000000000000000000000000000000..512965ebe872dc6cd3e0e2f48e738919c2796f5b GIT binary patch literal 1294 zcmV+p1@ZccP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR919iRgM1ONa40RR919RL6T0N#5RQ2+o0cu7P-R7ef&R!JzfZ4^E)uX!Gm zF+#|clA>53Sr`ft7LtXf>?EbwQ+6m8N+_8YtP~p&3Z=}m%$aBRcVDOO=X+km=TH6L z=Kt@yd!FYW&biKYu5;ek;N#;X=r0emzwD3Q{qOW&W!?Chb%Vh`W@cve_V&gT-{$7# zB!u8^bqDL1-woWuRO5qFID2_{q07rlvbMJ7`TYD$*Vor%X=zC|HZ~d%oO^h9_@iSu zv#_urD=RC_v58YSyuZIECnqN=D=VY;_;_-5cILH}l@;pm@2ADZMRIg>q}$tDij0h; zii!$)e0==iSTSI4Z%<=mV|*9yU{7-jhd}M`?@!Im%@h$4K}MsI*AQW1Vj|__D_4BeAfsAmZZUgr}#c@b&c-@W+t?9Yhfv9Lxzvl%u1gObx^&jndZE z7EMh}QD9&oMMp<-^fxy*no?gq$A-H0AS+% z{lFT)NmfWAXIhaK7{kOngjiHm!~#4#JmeHfrg%@;(<~#O8yg!e9H=ZKBZDq3E?A|K zCJG4&q2%Obt#p(UHA526-Q684IxQ`Yoghls1Y7z#HJ1vkM;!r;%oi&bs>2!t1T}|- zhEir`CY_v|(AwG>?d|Q++}s>Tg}Q~xp>T}!^mJxwetw?1y1KMI?87Fe5$G^L9ZCl1 znwpw8cg4lUyazxN6BE2wU0u!U?Ck91s8yaoD^y=uS;^G4wY4!oqyl#J!=z+@0ukir z=Mx-;hlevQ%gf8u(a}M9d3gj{QFmu&XB>s9OO#1TNeK%Ex$Nuf)4G@5A>K{Y3x&nT z#&RU>?d>cYPzQma>!3kEWZT=@oC;8eZ*-@am>5b;O=XZnLqlA{h*B}3cg#Y+ zN}#2?yPK-2syJsj4C)|`goFeJ0;;j5)DA_XGofW7%HH1IFQbG#juep~Z%F?1^fX5V zia|Hlf`WpmprC+z^6Kg;4Gau0%`kvkm5qZ^Qc{?a;o)Jf>93;19fSIhq=Xa@5I`+0 zE!-#+wb%nNe?P*3PQW%3sWqLA&2 zyAce_cE%;JzrRm*c6MwKDUq#>DMtqzA0MZKg9By(Aio+~r0M{o!Y>5G0pkDy5rIb3 zBz_m)8$^B)6&lR@MxgBKpC6oJQ?)_W+5iLw;p{WYu&>5@Kx$q8)acbO!myG$oaw*y z=hXW@aiq@T`5U5sRrmf`WV-Diy?*QTM^?YN^xtv%3&^&HH^Gjlw*UYD07*qoM6N<$ Eg4)$Y=l}o! literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/40.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000000000000000000000000000000000000..90690d3b1ce3fd14b53977e98f1224ba02c86964 GIT binary patch literal 1788 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 B$h80f literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/58.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000000000000000000000000000000000000..e2177c5be6773b13afb694997b5991f47d9780f2 GIT binary patch literal 2637 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 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/72.png b/FlipClock/Assets.xcassets/AppIcon.appiconset/72.png new file mode 100644 index 0000000000000000000000000000000000000000..ce8d383a7d61bd0efd0e8c8378132129984dd22d GIT binary patch literal 3289 zcmb6ccRbW_`*%*xCKXN`4LM|;$aY5AGi1BWj8mMM86xA5kv&Q}mC+ex9g;hhWSls% zGP5%}+3)qw`~Lm@@qC}>`99C*`*}Xk{wA6l>##BNF#`a=rl+fIPQ$wYfRTZATCUaU z&=3e?uA>Q5f8$@GG1_j{dhSL>fEbNt1V9O%0R2A|8t~Bo0Klan08GQ6e|M#H|CQ>N zg8xVVQ%sk+xd8yIT6)?V79pUuvD+06H+Uew^;(0@gfTrQ#aKTkcsrX~_`ue(rs`Rq zZKc0b_1-aG`i`b;=zR7W)8oIhX*<2wr(T$-?Ok@FJ%h3JZJHn4>XDiPZ?*$NZ$ZqY z@ZE`EPqNWM84 zt=FqKrY!Y?)jIOe1i@k}hrsVX0MAD_n*wX#on9+DbaoKsPC~#czWZg^2H`qQY{}FS z{o4HN7*>7^UguvAsudyJwsFh;as;j%20)A5f>DO&eH-uOD`MQo9;{T=J#mUU3QUz^ z?UbCpyDs+y_=78n)OY2NI^6WkaR~Yhw9_2AcliyHxj%;<$!tFLl3TD@vnC|-6j z@ms!}IJ#|bVW~%|{VP7s0IFk`^VbFQaCBimoKELp`ArSt(;SMs-=)$?-TM+t>Q1KN zK3j8s2maj?jW}e!vi*ala?iDf5#y<-lZey{^l>xcW37GaCo0`VZaEI}-5eI&32);v zfWUjlH2&#?u{6ZzZJPZ7^WUGH=oEal&#*2xMfvVgX`4S`0}IG73*id=^~d~sBxEtX zWip={b9bg=IbPDzL6vYs{h`PWqRTy4Z@H(mTv4{g50yf87XBG=QZEW!$lL2|1mLVK zOD_us8~tVxjp&rm`bXQ{;gViy1nQVK9w``><;@Twcx$)C+6Un`(-rWM?fO-J<`fzB z$H|h-@QLv4-aX|7;Df?Vzh3ma(JOT~pqxTx@hnwuJDHc_&KQ5PG3Fk^*=)?sss*#p za=fS6bB~+?mGvLbJiGJ6z+*Rq#N!l>=MC#YdqKNQ83gWkfb!PuFU&l`@&;@Yd2lN= z?P_&5oVu_m=8^C}-*1zba3#eHU-L3u&IE(2_vQrrx=uq&&1GioeJ=M-B9@E8*7MwQ z{8A$WniulD{rB)=UT?m;*NzGGa(22FAu_wJ^r`OJH*b>8V=6yzZ$qn2Svv#5ja>JiUijRQKc*MYX6J|T{S`nRa^wy|HNqO*OsD}(O zYzMu)Vk>Qa z$L0%WCigX|vsSvo*y_9WTOIQX7moBVl{UgAQ4+{2^wMoQ%u^S`F@wDb~!cxGP-PCz?7W6v}Q!@H>DL7yDG_gZOQm7#{y+HG$|CKY<}NX6;@Wh576> z%B0|{<+|Ki-JGJ$3DRS)%S;osCI}b!pujrtcyAF$OHwIu zsmUxXJ7xCCBaQWy9kG#pUz4!H2g|Q)a2cBcktavH?xRZ| z^qjGp8|hl?pG_vql|hMjq*{M#KGQC82`Z7bP^ac0ND^caWFcUyWuKYH_GuYvE#8X0Zw-JTDdST}_NgP;qMT z^h$W-V{ow19<>3I8h&ID=RC0CC<_CM{YcQy!a<>9^4$tx$M8)eE9wVo?Kgc?-by{$ zctw~C5xeL33Si1i=z%qJWJ{L0n96oDh!h2wHy>{GkcVE~+Vk#V1{fsveTj$aDjrDp>m3?j5cXxcQD@G;; zZ@k>RQr#1nPPwcw*6P#I56Nv9wiR!;?clqSucZ49;VV%NodsHB?%#{JC2JzwPBvDa z|N2NTfVF?f)A5t?gD$s;7l?k*>y-3k4FCyq2Vwq|uS+?e~1xIgN6v{#~!yGR*szPO93~uHu&UX74V%NWk5i-p+Gb zsI1*`6+^%9rQ?gi+lC4Xnv1WR%hX?+5_nlzIvH|ZjN7FrtK&r2VI@|OiosRc?< zX5~K5ea_?wtwBpb2b<$K)1(5omPxkYE@9r;&Wk?%XPwM3?PkW=;%5E1A+vFW3aP~m zkLv4SYsgo5tXkv+XcsJygW8WDe}f%AR;&VQ6O+vcE_OJ_zTua}(UWs`#9`?76G6$X zyD|*9IgSrR&wD#KuuxZN4Z$-_m1@13#}Y=H;ZF~}=BH{CU|7KHZw!m%uW~nL=X8rz z9i&ZXaD*irh8`6-)EPXjIGnYq$+S7M3~$H~lf%9>xbgW;00oCPtDg9 zmav2{l1@?TzA1?tIaoWWAO8NhcNTxsJ_E0k4`)|RCcd&ukP&k_xij!ol~;_43aUq? z87k%DMdn86Tr&B@X0XY(tTEu6x1ycY=}q>alwv}_}9#aw))6uKSsGJ7t>|2FcS@O4(_l%)&-GW4G{`M3Du-NtJ{po?u?!GE%zZ z+%6tgig@bv1H5tWw*A1t#6;n1?p3pG)GGz;HdU=F)cX;Y-_`T0sPFfVvG8OlT}^`3 z=8a~KVbf}h^a~UZ_IVI%ZZ|CKYBzkVXYc5Ms4CRhXs$I3ZVQ}CN{iGe2Oo`nVrfFF zop&)6rMGM38QENpNroT8*Lkc1aIH7Z;{Eh&zC=Z-{O$nffzabgthKVuR)F?9g|_a*y%5V7HfAEszu=#rM>cU+()TCdTvY2>YarTwok zxUrs_n&}sA)E+;(w?4G3TVrRpMUZJacFy9@k$AM`UEuVt!3;(ZY*vnWbIqyY@5!@v iaK+Co<^OvzKVgHwTtFlHW%z&J3cVY~+SQtG<*Weg@FWLMFIvTH1f1`VSu zVQk5oMABm^vOSi1=lSx!AKwqxeVzNd&+pv#?|eAtKFQXW#@w7IH~|3QHo0VYnZ@S+ zf}M@EcIVlgW)UdpvatbBJBa+w+8BB|m=G*107aI~4uJ0Z0MLJ3SUAA~06-`p0K#I> zzZwPn-&1o60Y7pIMi}Obqp}gn`x`dY0Q+h;)DZ`z1|?MuQ012s)}#1%!lb zR*#e96^q@X`QTJ43~~iSrymb_MVg&0On%x1eyclCB^3h%R{}+Ow=;6AyTfY(# zpe1=4hZ_rX3mU#{A4C7V)t)4RtShfn^uM|_*Z+J) zU*G3-(#;FbaP%nCkGMm=*jDq4;45s)gf-e?|9r|;avX2`Yj$d^%AP5xaM_R;Z-e2I zbCsazMQrsv)(U#J`l)RisU6%ibj~any{V@leH$3JEYh94QtNbW5qeuuA>4&or)u#~ zed+sX8DXaRb}{5nCTE5ko;~tlr-tg?pRf8n`d~*ka%c6+M48nS!>2Xo1?&f=If|az z!OJMRl2h~0>fD<-kAa7Fhtz|Kw2jBuY?T`>Tl`7c=pH#|3?~W7;K0x$w*StlaA|v8 zpcnlbpzpHs!&M@PRJn`i#N}OnW-8R+JuKDW(aW!P>yxf%d*7uO?NG2$=hy{Mei~S1 zc9;o~F6aKaSd2EszN$qY}NJI>jx}mK64bY*?9++orlQ%-3gH21-q`pz8a> z->ifdgC=3oP)TnT7(~WMIlT_{Q43vn68#lrPr(2biU!Bg%EuRMSMg5!Ti@U6kySrW zzB?bj*%iDpZsDL4v}B&8)DOnkXqHLaIOV}Q}x@~ZP~dBA*Nyv$#A2^hO3|7i_1-!XZU-z|Y(GrxkPn=#}&lgR>d z{S^K9{u;+uQVcH99_cbwt|s3PrUV06*6#JBnASYDM53X{mYTVJt&^y{d^=Gx)z!Mr z?V@e1Q_Bs4f|O;<>yWjFnB%!W#f@AkF2p`HY~;_+aRu6UDiMUyljor&&a{v>MA0=T z-8s;c!^zh0pn};J$2dc3T-vn3Zs?YF;;^Wf zX}0`^m~*eYic2dmfVot-Yg-=f{o_;Hn^O*8Y{JctwMu>s;=i)K@A8DSh5ve|eskQM zG&qz_5NXO#X2+vLp1v2sAfbp&eqy zkeI>8TBklvrt(Ogdwst?W#(;y+jQBgR4B-A2wx&Ci`UezHAv<((n2i_Jo>oEd~##m zKfd_>#~)MaqIs<%-1(%6)4x$??3$cU)2=sqOO_$wv8!c(j9N+k>7IV?_dBpuvgYky zO9M#;Yt{F}&icx(DlcQ;&cW=S+Gv@$4pBD5*cXak)_xgdAL`HJa&6ZKhmRI*B4ug>30^l zX(Q4riwgK;)yyg-$g&;y**p7NKD{{_@9oGp3YR~|gI!&6;+Jprn>?dcLliajBw`h`;%WxsAjhQ4;4lbI^`6Bx zGrH;;6(2_xvM!brnCkS_Scj7E8))wi2?9Q9s@^kY=H^gFye^_UkloSAql#PA>U2OZ zbO4;*DRnhVo--L`6p+wgoCV&VEQN4ZMJoB3C1J>O?a_|d;n3^SS*Y@oecekI7Z9va zX3Uwyb#a{#O=fD-x*;;fPCc+c7k8IO$QQzi_W?O5Pkm`LvMMmr`4og_-_r?QR~L}8 z%#JDv3}eP*=bSsR%zxkD0CT2F97Jp_yJ~8`N+$uC1)(eBHH7aY&wAfKXu`#iRgbM8@Oc~Z@Q@Y+j zu<)oK3Edd8Bt8YKdz1`=-=&Jy1J#bNYSCKx;Q#~`aDvifY@9BUW1+2fDz!_0Cv{BQ z58x+n#H(cChJ-XfV-iH~dG=*L(0$%N0;sun{xz%L1ZA#SCP`LX@Xk;@0 zDFdaRf-q8IR<*RSP{E=Hdnre{l}j!loNSs)OW<3dD%djhr5Cg4jZ8$&F`C1NDra3Q z%VZ7&&pe_bZ4GG(Vv_~fb^!y64(unJFv~_zf+T}OnK7YvWT=5+K&L8@d>LJL>r=+) z>0SMq8nhngN9S(k7Mhw;xzwUSw$ytfDt}elRSCPo#c#7)BLWXA1;q8Sn~J*MdSG5c zg1!^IFPJifT;cseGd89me&R!0WT;gLUq-fvNJKPAnbp@CVqBrAlEa%>7cO+U zX)>fM3>L4E>B_l+8Z>|}BTZaK_QD64YkYkbt2{pU=*=uzooe*S(u(~Zwb(4LFzrWEm8OCWyQIlouu8Qz(#Ti0T9=b?@ zwz=3Vtya=@>FfCpNmPF-=A5wOcY($|@N-<^ovd0{-c)@wC?FH67jqcaYYX)09Do6& z+xX&~Dyw8LgE+C7D|?c8Cohru)3#u|zb6b{Q$;E!y3m6^QmH8%$HW!vqCmK0qbL4} zXAE*6aPylp&2@g2lU|#Ji&Y}1FM?Hm&tsh3E8rxOlO=EP)eoUAF9(##B_cHHycLxz zGAanct?pKxeOy9U{tv|cQYVI!0y2na>`H|aiJ0cljB4bi}`f7DXD%Q zz)y8BN|iW&9U;($wrL5u&qEIDP80Vmc4f1t z2Fv)(wa+@WhN->{%A4Y2$DDBI9X%i0vZyYA3f>;n8MvqkqeN_omxUeIX}&9(r|f(N za*QW?^4z83vXj+>j`ww%^a>|1N#Zi3Upha=-0s^#1qAY(QWvrGBG<27Ym~I3JNjL0 z0c5SxZW}Ia{LfNUdbauBFE{0>&eUOt@Dz zNSQ%y!X$J31WZ!ErT_;i#VLocF-;6(NAc@)0KmHNrA|I&`sh=}udtF^@4pt2qCO-l z?K`cReb-*nM&}ybDe5_s^#vQ;!7&BvwHuCJ`_XfiFwJZ+?ta3?b-tGkE}8wt^XDA! z^+tN@g+hYKExtcDtZ;PXf;d;+b1<3!okc5pS001rm0br5_{W~in``=sr zBJls&{~RTkb@WI{e`%^J83%&)W}Pc;+-HR>&z^3-e(0lWAnAMw>t;3>qVlmLiJJvXD zpSZU4h!_s={aC0J4$cP1KV@-o~NYD_1Uq*m>1&fGhbDpjfx_5O$_FJ82!w7p5 zv+lL|S>{eTw-JaJIclKC;Msts(Co!f{KCnkkzN@or+nzin0l+2`RpV!`g{vpIQ|w} z@cN7t_v~Os^;)oK`)>VKd9H_6!2DD7&V%wf6oB|c3e%~qZnBWQ{Chm1NZ8GwAiJtB zS?{R5+PjuzDZbY@fp*P)=&vb|=cW8w#>c7cXAJw*81WC2hMLry#wVuD=i8OoZ^$`O zx#x6D21$IuCKj$`@=mu{&S-hQe7d|KH15>2mnVw12_|1uW_S120Pj*b!!L;e!>L_Y zriHM1FV?KQy02_~_+hOL>_e_oJf-`tcLURxh6{_1mMSn5)bC=~ zKIhS12A6VL)n~5pet2z&Z1SqMXnK}S*nd|P`Dy(Wsjr+ecRHZ&qP_r+2`z0M|TvKHBTUL&uR)VJDY-?o;m1sgXyJKX_U-oVy(R_f=1>xWmHbYNQ zM!?(7k`BcPJUg8--5M0B)k#%6cX2YL0!*kU8ir*>s+$*sgZOC~tRy`%bdj1Q#GbYN zJ^CsYGVlPV-AT2v-+r*~7I@cT3Iqk|T+O!f*7Og4i$(SkPA2qNdEz$m2j5uN`UCV1 z$a$|G-{Wt0Q|+R=F;XFCyB$M+mLutp92u5-i)J-J*FKTJocM0(nXi=SpCpkL|Er=j zWe{TP3&VN&@t4Sc?=@Sf>67}I|FjQ2lf&OT%KP~JKgDz#pX7=&1bW(#Ld#5^J>47UQJW+w(i@k zi`78~tt8(akEB6S_?G=s3_tzyI86@(ipg|($UKwq9CnqUNZXg6mh8vXJ&MS z>HW9#O||X&Z9(0lewk1zc%+p|Q~tOT1!t!7rJ=us{4}fGf_qf~fPi6MMJAWwhFTib zeF_z7BA-*@JR;pntK;LE9qw_2N_00oX_|4`e8!4+7;)2){@&li#_e~N;;0zgrJdSO z1p^FCS;U?FcCrelpYNNi$$GV&tYzv?oEB`?e1`x0O1vd|W+b3z7w9)+s5TLT&SsNf zC%kjlb?C1(Om8dSl?u}Xd`hq91Q-VE^T}W>q?KpW5UbX@baZmNbsV~@+37d% zA4x!O6~}VDW_8uY?NSv*Koki`hQZz(rJG`9&qK74kPo*~T-O;ChNi8Cyi?vy^Ptqfb0tCL>FfMx4b6{nr`7F92|UnK*L#z8yP z&GiN-CKE*f(kF@I$j~d^yWJ)fK|2d3_A=?^1$e-Y21V|d#n@3l1bjA&W7qv|O33s| z@76^kjunsk`4s5UJ0~#SI#bCa@*P;BAttV5xPF;LoVwV2|JjZn^s<_DFFAMdPRml* z%m7W7SZ^hi&&b8DSkd=!iSy>FRylmi+vWUZ%RKAJn~h?2iiNNKJ=c?e4w;J?kFh?gJmo9){ZMi~$CD|2&~be9Ksq-^p*Djt zAv!?lfNO<=Upg8I_Eu|^8>KIWix2Irn);nsT8aiVZ5rcRt*JUgw)&>CoJ+ux5V7P8 znx3A-i+Gjji(`^<)5WZP+9%i3_Zl zV)Fa&@TE}v+Pwkdh};ujyN)q6_HT2uu8CBiSMviF2e`tI1_XR+8XUb4*PqRU6@W>4 zjIthk6>V(Aj!8d5C%Q4hNZ|?p&P!8k&6M%Yd;RrgvSBtrmfDe1;9)_?z9xP##Pfpo zT7vLr1`N9R1Kx@oKkcSmPbYdgY#jSx+HL(7u1eVEV%-=MqD@AK3XiJsU-cdmYo14V z?D92BVy+zuX-n{-?CKi21BV5*j*&d_8-6kAANHE&Qa~DVNsTIkAVJ)oZ!I@=npu-3 ze;QAkO;SY&n`4xyK~RZ>JcX*nmjg2ncXkX#(HJ-Cf^aCFoCfx7Y*v&KnUfvNnCj#$ z?SK$E&VF*{qgzv@{t7wCd*k??ZAq}aG;Ch50!Aoy)xG*RGEI=kFm1_?@%e)uB3-HU@{rWXkT$J$3gX%O10sHD z1o~K(@Ip7$AyomXj)K3=;}Pah2u%jwL{-xRYy2|k;y~DetV3UtJUBT0h0>UsoSICK zq&5k$)*z5I!rbyn-sM8jMt;yb%l3j{gks;F35UYWQ6ao5(=JWuDQE3?MnqDY??>p& z)}^7A-5WkJPjhp#c8ZQP5I=HevJ!92qoVEbT*zsW)N?AI7X0F1dXe)3_TVfCnZCOc zRZ#1{s^-(v%Qga;|79v|s>IM~cB6_I#3jH9oZ4S?_O&R4gTHdtljgaGWZ*VZEjQ?+ zR1ejo-*ZvFnCYTZP0mIv~>u00m)V{ z?}0;>=PD*RQ{4c{ZpGHr3EB4t(X7_}az*6`3Q!{>hTJHPHHazB$uQ`hah?Hi1eGJZ zZ3kU`@qTP1c+|D&&|~nbw{#DUmNoe8y5jlxmo~j%A>4zz1!a;L2rYxqx|v9rLpnj@ zJd?i5ifA(FzTx2C>xe~|T0Omg!AbO45w}@=n!v;=6_8Z@Nw7;}w*gwB66$qkG*0B36KrMF>Hw(#}ir4Caa2Eosz3dkwDL!lR=!77b_x)|*Qx+3AE1+VYa7$;6b=}O) z;Z*kCgsJ=NQZj=J=rOrbXemoq@ME^AMgaNzZKnZ^tpYOH%>rQWHeRZ@Qpc66c1H}8 zZ2Qi0lFTesxAZkjmzu=XT{ln_uG~PE#+L8ZHv0$QyTe39`IS0Gozr9sVCTK7@dVj4 eW%;?-v5F{r+*Db3f00uIst4_kEw&Id_63%$WU*;28h_z;0@C!;0>0 z{uv91{tW0G^PxK+%F0+DP}VEFOntNPsMFT!LHn1aS3mp@P3_QI4kY3zNh;zrI_2lLE(sOpy(E z^1+bSX4vXb(aI+`UI+ir&3EpAp0tccn;>I7{}c3QHi-pIf+m5IDti6wC?S95XDt9j zjUHr+h&Tfy&y-3XFa*QGW*OA>e+b$pUGEgt4)zgL^Xw`A-F$jNF}JGNAU2SUj?y-#_E|CT0;A8~qo^_`aMQvuITy%0uKT95AO(U>Xv_0VTrZQTyg_8@BK zr_DZjozXzUn5nE6K;0Q}!W;5AUPd;o*Luw-X~3|GwYF~pIs{M;-{0j=nd0bsbb7qI z{9R+_R+@~tS;%x492CCv8V(a)jB3#D5PN*|0;co#OEt9%0*_f%?bOHH!QWn)3hY)~ zrmyhZh>=&rfEr1!<%YomhLOW0Vxu1Z2A&h98dI^C<@d>J#4pOX;H9-$38B`096@Xv zs2O>XrPQ!islc74Ee|7o!smpqJYo}cIQWg7Lf^EQT>)&B?<}NQzz}8io(CHZn@{7x z2HNt`-=B`2)jfLN)+!M%oT@(Q-xjo1@%3ZfbU4H%Ko;|@r4V+D2sUa6?zh0T1|#Pm zjJU~T&f6$AZ4Xqh6qkHd{4YuxI+iTZxU=72Wgr>2L)GU#Ev{GMU&CBOE3BY&0vfR0D- zc8>b#OGmu+$S~DC*_-F-O{4|L;Af2c_xmk~l(JTaC6}}W_vtW-2&i^6tQwd~I;6`` zU~z3<+Cs0Y?^;C88n6AsT3)!rdPA37_TkJ1|pjSy)eBfYrj@lE#Y&SXJ!|-&bC5*!<-6x1CSy(h*Q02h4Qj9K^=xfwvX8~_bz?99>!H)EOj zJ+3D1HZ(2iaok4`YK&r~$=$rPna8Kw+k+OAyH%wY_09G@?8FWFPIz?+XhB-a<@zi3 zB4(qRmn>CwCsFXWDbx*C+8Ne(kziZs>Cu+joi7uTEqZDTA!8ny!cR5J9Nc*fnKL&> zjtNc@xJV(N^6Rz4Lhui+Zn?0z1X*h14_4bqi*JX#|IUCdm4$V{Y$@%f@Qd)f#?<_oZLqra#i6!HX% zwAJu>C@>+9zQ_nO#XY7=Vsy)=y;eqGO8n2a&1DDRSqhjyoBMQApnZ({^^ySS&J~h^4w|D%DK}hMiN?4!-<8T-~-|e<`cZ zLy@Ap)uT4XYIqFYnc;F^0CY6q6#3Av6wM(phQ(k)RD`J7ExAQXTL4WVmid^+*c|d2 zy{dJyOhKwBRfO!KI7OD=5HZU8sb6)`IbS};7!g!Lxzx^)rBLwB%jQK*29@Bt9=SV} znG;DH<3j0=PH#AX9iFZ>cA+j+FA`q;K>lq^_&%5CJ-W)x`Dy}tWPRYzGhBaII=uFcf+lBoF-Ezo zBqB+grd(dzmFpv{h*-7)PrmA3=LQHG2&_4m^Z3xuoB4!K)%RyV??Yk)oDJa-0d(Yc z7xCLk)P;h`=>)Oa6`KbQ?Y#FF-fEO8(!ilrPxi5K(=g|2XquLT3r9mr2cu#9pE8WFB<&t{a69%#zaq`oY-*MNO*jG)v z)7ssvc&3)#QDK4BhX+FO32zfQ!nSfEHcYd8D!)Bj+F(r0ix-Ouh0-ZC7_r%;aYR*7 zP2#8Z%BXDSb?#KAvKiMuM9f5^lHNa%XyiJ(`h^GcW(RugxHwM zXTDOL{b0CiW%t#UVcUE)bbOAxChzS;1BC#2A%!!TiXQZ>bLnYcy(xBy#e*D{{H0AZ z3k^0(5);S$Jb|46an-x$p{%I!LOjLV{)~`~`S?aL;rIG$sFO1*?HoBmf+K%%eGXG@_379)W@; z!MwoUC_-Jc`e;)@%eG4Pqpa)tPr@te&adkCQSF>u6+7&c?7C1v0SjRroByQij_-c> zS)^p1%z;;>hUfT##0A+FlgsfAp(riUNGo7NsIJorc&We{=3BLLaKtC-|w+*6az*3NjiONvBcDHlo zRiXAP{wj?+xP0@5D)=@9A-=g5o00eESRhGNB4QwjAF0U_d2(7N#0nblRa;BZ`CF6W{Btavdbu;Vv1rd->vt2#NL#>99+xb5RW_O%TG| z-4?v&%DQjki2hkP(3sal+7O^)#mB^@qLKCltkjwI)?Ap4NmzwVt4;8kZQ*nzTY}|W zTT|t)ob&O(!)5%tV0NW2>*!YCa7LZsvc+zeFIm3IdN{AlsQ}`S#a)B|%16bVIaPr1 zS8)rmdzu!J{J+Lg8J{uA9Co`H#0!^LXEGUj!4{%6imaQejOp%mOL-n$GnJeOg${xE zuo!F644kF$?b&*ed+dK^U(`ID`4NTT8gM^4gi`&q*2g6Oyv2cs$Fu*&Swe=VL+6v0 z+xeV&*f`=tQXO}rjQs^Z+*yO}&Bhp)`U3cFnsN($ECTCI$TI-Adpxs{8E!!W0NC6Q zdh>G;e$InZooWux2Oyf>@MRR+A|#?~a#4`5rs0tP_)LJU2dl()*0wHj^66+X7EA>> zfY!iGk{HBV?Bh*KSODT4d@0us9_Fw}Eeu^s7l!@y^41=n_HScfF35Z!$bwkbS{xeF z-+E?lr7RAx9N2V@b+FOF5e#N)A+Hw2SKr5Qbg`w~F2uHK9n>f&&0y8*d2;$5$OXD(LNJIi4Lwi(*@nPTm z3y`~e`De*%r1|816rjkl-%DRuaxc7tSwUuw{OjWnb3(WM>`L~z6y1~16P0?M8}b%j z6{~a-z_?{@b$apr;FmpdNgI_F89e!&pVIqI?KJ`W3p30$-)^w3ofKQ1KIyy;(_X)9 zxR3vb9GD$>%K|4je3_5s2rJ4rmDr~SoS8! zMEELU>spy9Te(>^N~DL{u~R(=>*n^t(^13ZFANR%J$T3IN4kiy`qd++Hab{F?s@N8 zoSix*?7VclEe)V|k#p4tD{fJlr1iFUX#0Zw16BaG)?}A0p$J(JqP$+s^VVcmYMy^xai7 zvYizBQV;Q$Z*dmigZ=c`)K-pQO-B>WmYq@kn1^Ci&5gqRmBI3k3uu(g#k9wG8?T;K|?R9i`4>3TuR?~(~rUr$o9N^JDG z5L}HaHQ{*@e}}5k3E2I0jJY4N8kynzA{-|96|Ee%)sZ5mJ84m#p|FcnJ^UIJB+|Q4 zK=jQKxI*d|zzBG_zF>F8K|5kAR`RBQ1d;H*)l3l+(H);pWy;rzG!{nLs5y*dtjYl z=BFX`SsGJ^w*))sCuzH&7FegOVh#3cA#@Zd*RYc!qbux97=5oOMHV4j*1@=+`hxx? z0n0a$jJ{6JrMv@}`$;#QyoLM^8Qf}~gC@Nl4y-0H6MXz7ahGSU=La&!L6e_aY!yHJ dzh9l4{U#wbwRl^l_1`tz)DU)~OyBv*{{ZJi>=^(6 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/AppIcon.appiconset/Contents.json b/FlipClock/Assets.xcassets/AppIcon.appiconset/Contents.json index 9221b9b..65b74d7 100644 --- a/FlipClock/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/FlipClock/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,98 +1 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"}]} \ No newline at end of file From 664b20d4e3b16bb902d55d0be771588f14366ee9 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 00:51:24 +0900 Subject: [PATCH 39/79] =?UTF-8?q?Fix:=20=EC=95=A0=EB=8B=88=EB=A9=94?= =?UTF-8?q?=EC=9D=B4=EC=85=98=20=EB=81=9D=EB=82=9C=20=EB=92=A4=20=EC=95=84?= =?UTF-8?q?=EB=9E=98=ED=8C=8C=ED=8A=B8=20=EA=B9=9C=EB=B9=A1=EC=9D=B4?= =?UTF-8?q?=EB=8A=94=20=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index 8d736a0..cfd40fb 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -321,6 +321,7 @@ extension FlipItem { bottomAnimation.delegate = self bottomAnimation.fillMode = .forwards + bottomAnimation.isRemovedOnCompletion = false // 애니메이션 끝난 뒤 깜빡이는 현상 수정 bottomAnimation.timingFunction = .init(name: .linear) bottomAnimation.setValue("End", forKey: "bottomAnimation") From 9e2db3d00ff11bf60dc91105b822fe3bbb63c93e Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 01:06:45 +0900 Subject: [PATCH 40/79] =?UTF-8?q?Style:=20=EC=8B=9C=EA=B3=84=EB=B7=B0=20?= =?UTF-8?q?=EB=B0=91=20=EC=A0=9C=EC=95=BD=EC=A1=B0=EA=B1=B4=2040=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=9D=84=EC=9B=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewControllers/ViewController.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 3ca6580..3ec60ad 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -45,7 +45,8 @@ extension ViewController { view.addSubview(label) label.snp.makeConstraints { make in - make.top.bottom.equalTo(view.safeAreaLayoutGuide) + make.top.equalTo(view.safeAreaLayoutGuide) + make.bottom.equalTo(view.safeAreaLayoutGuide).inset(40) make.leading.trailing.equalTo(view.safeAreaLayoutGuide).inset(40) } From e0ef703aeba0bb2ca8cbbb19b5e9b11ff1f5a958 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 12:53:17 +0900 Subject: [PATCH 41/79] =?UTF-8?q?Feat:=20=EA=B8=B0=EA=B8=B0=EB=B3=84=20?= =?UTF-8?q?=EC=8B=9C=EA=B3=84=20=ED=8F=B0=ED=8A=B8=20=ED=81=AC=EA=B8=B0=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/FlipItem.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/FlipClock/FlipItem.swift b/FlipClock/FlipItem.swift index cfd40fb..611e90e 100644 --- a/FlipClock/FlipItem.swift +++ b/FlipClock/FlipItem.swift @@ -76,6 +76,7 @@ extension FlipItem { super.layoutSubviews() label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) setGradientBackgroundColor() + configureLabelSize() } } @@ -96,6 +97,12 @@ extension FlipItem { make.edges.equalToSuperview() } } + + + /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. + private func configureLabelSize() { + label.font = .systemFont(ofSize: bounds.width * 0.6, weight: .bold) + } } // MARK: - Custom Functions From 3abdc04267fd8ee625a58c760d2748b57ecdcbab Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 16:49:18 +0900 Subject: [PATCH 42/79] =?UTF-8?q?Feat:=20Extension=20timeFormatter=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 12 ++++++++++++ .../Extensions/DateFormatter+TimeFormatter.swift | 10 ++++++++++ 2 files changed, 22 insertions(+) create mode 100644 FlipClock/Extensions/DateFormatter+TimeFormatter.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index a848909..c2f80e3 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + BA5FBB0D2879697300209EDD /* DateFormatter+TimeFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */; }; BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; @@ -24,6 +25,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DateFormatter+TimeFormatter.swift"; sourceTree = ""; }; BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; @@ -53,6 +55,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + BA5FBB0B2879695500209EDD /* Extensions */ = { + isa = PBXGroup; + children = ( + BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */, + ); + path = Extensions; + sourceTree = ""; + }; BA7ECC2C28757F1500511694 /* Coordinators */ = { isa = PBXGroup; children = ( @@ -91,6 +101,7 @@ BA95DE0928671BDD00041A30 /* FlipClock */ = { isa = PBXGroup; children = ( + BA5FBB0B2879695500209EDD /* Extensions */, BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, BA7ECC2C28757F1500511694 /* Coordinators */, @@ -188,6 +199,7 @@ BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, + BA5FBB0D2879697300209EDD /* DateFormatter+TimeFormatter.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, diff --git a/FlipClock/Extensions/DateFormatter+TimeFormatter.swift b/FlipClock/Extensions/DateFormatter+TimeFormatter.swift new file mode 100644 index 0000000..9570412 --- /dev/null +++ b/FlipClock/Extensions/DateFormatter+TimeFormatter.swift @@ -0,0 +1,10 @@ +import Foundation + +extension DateFormatter { + + static var timeFormatter: DateFormatter { + let formatter = DateFormatter() + formatter.dateFormat = "hh:mm:ss" + return formatter + } +} From 86120c855e4dcff0fd873734d0ef37e16b9b95b2 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 16:53:17 +0900 Subject: [PATCH 43/79] =?UTF-8?q?Style:=20Views=20=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 16 ++++++++++++---- FlipClock/{ => Views}/FlipClockView.swift | 0 FlipClock/{ => Views}/FlipItem.swift | 0 FlipClock/{ => Views}/FlipView.swift | 0 4 files changed, 12 insertions(+), 4 deletions(-) rename FlipClock/{ => Views}/FlipClockView.swift (100%) rename FlipClock/{ => Views}/FlipItem.swift (100%) rename FlipClock/{ => Views}/FlipView.swift (100%) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index c2f80e3..974a373 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -63,6 +63,16 @@ path = Extensions; sourceTree = ""; }; + BA5FBB0E28796B1A00209EDD /* Views */ = { + isa = PBXGroup; + children = ( + BA95DE1E28671EFA00041A30 /* FlipItem.swift */, + BA7ECC222875293100511694 /* FlipView.swift */, + BA7ECC2428754CA600511694 /* FlipClockView.swift */, + ); + path = Views; + sourceTree = ""; + }; BA7ECC2C28757F1500511694 /* Coordinators */ = { isa = PBXGroup; children = ( @@ -101,17 +111,15 @@ BA95DE0928671BDD00041A30 /* FlipClock */ = { isa = PBXGroup; children = ( - BA5FBB0B2879695500209EDD /* Extensions */, BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, + BA5FBB0B2879695500209EDD /* Extensions */, + BA5FBB0E28796B1A00209EDD /* Views */, BA7ECC2C28757F1500511694 /* Coordinators */, BA7ECC2F28759CB600511694 /* ViewControllers */, BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, - BA95DE1E28671EFA00041A30 /* FlipItem.swift */, - BA7ECC222875293100511694 /* FlipView.swift */, - BA7ECC2428754CA600511694 /* FlipClockView.swift */, ); path = FlipClock; sourceTree = ""; diff --git a/FlipClock/FlipClockView.swift b/FlipClock/Views/FlipClockView.swift similarity index 100% rename from FlipClock/FlipClockView.swift rename to FlipClock/Views/FlipClockView.swift diff --git a/FlipClock/FlipItem.swift b/FlipClock/Views/FlipItem.swift similarity index 100% rename from FlipClock/FlipItem.swift rename to FlipClock/Views/FlipItem.swift diff --git a/FlipClock/FlipView.swift b/FlipClock/Views/FlipView.swift similarity index 100% rename from FlipClock/FlipView.swift rename to FlipClock/Views/FlipView.swift From d4c6e69822ecd32bc936b0fbff8b042ac793ed47 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 9 Jul 2022 17:17:28 +0900 Subject: [PATCH 44/79] =?UTF-8?q?Style:=20=EA=B3=B5=EB=B0=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipItem.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 611e90e..3390b5c 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -60,7 +60,6 @@ class FlipItem: UIView { super.init(frame: frame) configure() } - required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") @@ -374,10 +373,10 @@ extension FlipItem: CAAnimationDelegate { func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { if flag && anim.value(forKey: "topAnimation") != nil { - bottomLabelFlippingAnimation() + bottomLabelFlippingAnimation() } else if !flag || (flag && anim.value(forKey: "bottomAnimation") != nil) { - stopAnimations() + stopAnimations() } } } From 34211a097432142f7845ae90dc77a44ecf3cfef8 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 15:08:58 +0900 Subject: [PATCH 45/79] =?UTF-8?q?Refactor:=20FlipItemType=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipClockView.swift | 12 +++--------- FlipClock/Views/FlipView.swift | 15 --------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/FlipClock/Views/FlipClockView.swift b/FlipClock/Views/FlipClockView.swift index ac171fa..01e6851 100644 --- a/FlipClock/Views/FlipClockView.swift +++ b/FlipClock/Views/FlipClockView.swift @@ -27,17 +27,11 @@ class FlipClockView: UIView { $0.spacing = 10 } - private lazy var hourItem = FlipView().then { - $0.type = .hours - } + private lazy var hourItem = FlipView() - private lazy var minuteItem = FlipView().then { - $0.type = .minutes - } + private lazy var minuteItem = FlipView() - private lazy var secondItem = FlipView().then { - $0.type = .seconds - } + private lazy var secondItem = FlipView() private var timer: Timer? diff --git a/FlipClock/Views/FlipView.swift b/FlipClock/Views/FlipView.swift index 883552d..1a7b70c 100644 --- a/FlipClock/Views/FlipView.swift +++ b/FlipClock/Views/FlipView.swift @@ -15,8 +15,6 @@ class FlipView: UIView { // MARK: - Properties - var type: FlipItemType = .seconds - private lazy var item = FlipItem() var time: String? { @@ -59,16 +57,3 @@ extension FlipView { } } } - -// MARK: - Enums - -extension FlipView { - - enum FlipItemType { - - case hours - case minutes - case seconds - } - -} From 4a00aa9e1b4cadabcd4bb4df3c77ec947be3c282 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 15:12:06 +0900 Subject: [PATCH 46/79] =?UTF-8?q?Refactor:=20=EB=A9=94=EC=84=9C=EB=93=9C?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - goToSetting -> settingButtonDidTapped --- FlipClock/ViewControllers/ViewController.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 3ec60ad..0803424 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -54,13 +54,13 @@ extension ViewController { image: UIImage(systemName: "gearshape.fill"), style: .done, target: self, - action: #selector(goToSetting) + action: #selector(settingButtonDidTapped) ) navigationController?.navigationBar.tintColor = .label } - @objc func goToSetting() { + @objc func settingButtonDidTapped() { coordinator?.moveToSetting() } From 4c57d470393617e07a89e09ba8c2ae365385f2b2 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 17:42:26 +0900 Subject: [PATCH 47/79] =?UTF-8?q?Refactor:=20=ED=95=84=EC=9A=94=EC=97=86?= =?UTF-8?q?=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - path 설정 안해줘도 add 메서드를 추가하여 애니메이션을 보여줄 수 있음 - fillColor의 기본 값은 black이기에 필요없는 코드임 --- FlipClock/Views/FlipItem.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 3390b5c..5cd3417 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -277,9 +277,7 @@ extension FlipItem { path.close() - bottomShadowLayer.path = path.cgPath bottomShadowLayer.opacity = 0.3 - bottomShadowLayer.fillColor = UIColor.black.cgColor bottomShadowLayer.frame = frame From f3cd4e62d43485a5dedd4d29378d7e5017b4fef9 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 17:44:22 +0900 Subject: [PATCH 48/79] =?UTF-8?q?Refactor:=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EA=B0=84=EB=9E=B5=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipItem.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 5cd3417..2ecb008 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -296,8 +296,8 @@ extension FlipItem { ] animation.timingFunctions = [ - CAMediaTimingFunction(name: .easeIn), - CAMediaTimingFunction(name: .linear) + .init(name: .easeIn), + .init(name: .linear) ] animation.duration = topAnimationDuration + bottomAnimationDuration - 0.2 From b811d91f275c91fa356fae70ee6e74139151c496 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 17:45:22 +0900 Subject: [PATCH 49/79] =?UTF-8?q?Refactor:=20=EB=85=BC=EB=A6=AC=20?= =?UTF-8?q?=EC=8B=9D=20=EC=B5=9C=EC=A0=81=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 첫 조건식에서 flag가 false이면, 자동으로 flag는 true이기 때문에 AND 연산할 필요 없이 제거할 수 있다. --- FlipClock/Views/FlipItem.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 2ecb008..80758e1 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -373,7 +373,7 @@ extension FlipItem: CAAnimationDelegate { if flag && anim.value(forKey: "topAnimation") != nil { bottomLabelFlippingAnimation() } - else if !flag || (flag && anim.value(forKey: "bottomAnimation") != nil) { + else if !flag || anim.value(forKey: "bottomAnimation") != nil { stopAnimations() } } From 7e124a1f3498cb2edf3326b02212f1f663b4a11b Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 17:48:25 +0900 Subject: [PATCH 50/79] =?UTF-8?q?Refactor:=20=EB=9D=BC=EC=9D=B4=EB=B8=8C?= =?UTF-8?q?=EB=9F=AC=EB=A6=AC=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Coordinators/MainCoordinator.swift | 1 - FlipClock/Views/FlipClockView.swift | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift index d439f21..0d2536a 100644 --- a/FlipClock/Coordinators/MainCoordinator.swift +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -5,7 +5,6 @@ // Created by 홍승현 on 2022/07/06. // -import Foundation import UIKit diff --git a/FlipClock/Views/FlipClockView.swift b/FlipClock/Views/FlipClockView.swift index 01e6851..ba26824 100644 --- a/FlipClock/Views/FlipClockView.swift +++ b/FlipClock/Views/FlipClockView.swift @@ -7,6 +7,9 @@ import UIKit +import SnapKit +import Then + protocol ClockDelegate { func start() From 66392aa1bc01ad914e1a6aa40dcc9139919916d7 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 17:48:40 +0900 Subject: [PATCH 51/79] =?UTF-8?q?Refactor:=20=EA=B3=B5=EB=B0=B1=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Coordinators/Coordinator.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/FlipClock/Coordinators/Coordinator.swift b/FlipClock/Coordinators/Coordinator.swift index bc26ce7..e703e49 100644 --- a/FlipClock/Coordinators/Coordinator.swift +++ b/FlipClock/Coordinators/Coordinator.swift @@ -8,7 +8,6 @@ import UIKit - protocol Coordinator: AnyObject { var childCoordinators: [Coordinator] { get set } From ae23a2a923d20cdaaacbdf3e4d31f2feb34a36ac Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 18:32:29 +0900 Subject: [PATCH 52/79] =?UTF-8?q?Fix:=20=EC=95=BC=EA=B0=84=EB=AA=A8?= =?UTF-8?q?=EB=93=9C=EC=8B=9C=20=EC=88=AB=EC=9E=90=EA=B0=80=20=EB=B3=B4?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EC=9D=B4=EC=8A=88=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipItem.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 80758e1..72bd8f5 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -20,7 +20,7 @@ class FlipItem: UIView { $0.textAlignment = .center $0.font = .systemFont(ofSize: 90, weight: .bold) $0.text = "00" - $0.textColor = .systemGray5 + $0.textColor = .white } /// Flippable label Text From 8cc269352132c0298167671a995b2c14a19d80fe Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 15 Jul 2022 20:33:00 +0900 Subject: [PATCH 53/79] =?UTF-8?q?Refactor:=20=EB=AA=85=EC=8B=9C=EC=A0=81?= =?UTF-8?q?=20=ED=83=80=EC=9E=85=20=EC=84=A0=EC=96=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipItem.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 72bd8f5..475c3a8 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -258,7 +258,7 @@ extension FlipItem { /// 위 Flip 이미지로 인한 그림자를 생성해주기 위한 애니메이션입니다. private func bottomShadowAnimation() { - let bottomShadowLayer: CAShapeLayer = CAShapeLayer() + let bottomShadowLayer = CAShapeLayer() let frame = CGRect( x: 0, From 46f4a61413f8177a4897e596b8f8aa3a65d66963 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sat, 16 Jul 2022 22:02:59 +0900 Subject: [PATCH 54/79] =?UTF-8?q?Refactor:=20timeFormatter=20extension=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 12 ------------ .../Extensions/DateFormatter+TimeFormatter.swift | 10 ---------- 2 files changed, 22 deletions(-) delete mode 100644 FlipClock/Extensions/DateFormatter+TimeFormatter.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 974a373..6f4f62f 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - BA5FBB0D2879697300209EDD /* DateFormatter+TimeFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */; }; BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; @@ -25,7 +24,6 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DateFormatter+TimeFormatter.swift"; sourceTree = ""; }; BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; @@ -55,14 +53,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - BA5FBB0B2879695500209EDD /* Extensions */ = { - isa = PBXGroup; - children = ( - BA5FBB0C2879697300209EDD /* DateFormatter+TimeFormatter.swift */, - ); - path = Extensions; - sourceTree = ""; - }; BA5FBB0E28796B1A00209EDD /* Views */ = { isa = PBXGroup; children = ( @@ -113,7 +103,6 @@ children = ( BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, - BA5FBB0B2879695500209EDD /* Extensions */, BA5FBB0E28796B1A00209EDD /* Views */, BA7ECC2C28757F1500511694 /* Coordinators */, BA7ECC2F28759CB600511694 /* ViewControllers */, @@ -207,7 +196,6 @@ BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, - BA5FBB0D2879697300209EDD /* DateFormatter+TimeFormatter.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, diff --git a/FlipClock/Extensions/DateFormatter+TimeFormatter.swift b/FlipClock/Extensions/DateFormatter+TimeFormatter.swift deleted file mode 100644 index 9570412..0000000 --- a/FlipClock/Extensions/DateFormatter+TimeFormatter.swift +++ /dev/null @@ -1,10 +0,0 @@ -import Foundation - -extension DateFormatter { - - static var timeFormatter: DateFormatter { - let formatter = DateFormatter() - formatter.dateFormat = "hh:mm:ss" - return formatter - } -} From b91e8b805fa198d6c34ab3a4a4f3ada7f5a95510 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 2 Aug 2022 13:58:17 +0900 Subject: [PATCH 55/79] =?UTF-8?q?Style:=20gradient=20background=20color=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/Views/FlipItem.swift | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 475c3a8..ee3d424 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -36,13 +36,6 @@ class FlipItem: UIView { } } - private lazy var backgroundGradientLayer = CAGradientLayer().then { - $0.colors = [ - UIColor(red: 0.165, green: 0.165, blue: 0.165, alpha: 1).cgColor, - UIColor(red: 0.086, green: 0.086, blue: 0.086, alpha: 1).cgColor - ] - } - // Flip되는 시간 설정 private let topAnimationDuration: CFTimeInterval = 0.4 private let bottomAnimationDuration: CFTimeInterval = 0.2 @@ -74,7 +67,6 @@ extension FlipItem { override func layoutSubviews() { super.layoutSubviews() label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) - setGradientBackgroundColor() configureLabelSize() } } @@ -95,6 +87,8 @@ extension FlipItem { label.snp.makeConstraints { make in make.edges.equalToSuperview() } + + backgroundColor = .black } @@ -130,21 +124,6 @@ extension FlipItem { nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 } - - /// 그레디언트 백그라운드 색상을 설정합니다. - private func setGradientBackgroundColor() { - backgroundGradientLayer.frame = bounds - UIGraphicsBeginImageContext(bounds.size) - //create UIImage by rendering gradient layer. - backgroundGradientLayer.render(in: UIGraphicsGetCurrentContext()!) - let image = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - //get gradient UIcolor from gradient UIImage - backgroundColor = UIColor(patternImage: image!) - - } - - /// 현재 `label`을 위 아래 절반으로 자른 이미지로 반환합니다. /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 private func createLabelImages() -> (top: UIView, bottom: UIView) { From 9cec2153e7c3c20deeb0210c077cb23b48d1dabb Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 2 Aug 2022 14:04:28 +0900 Subject: [PATCH 56/79] =?UTF-8?q?Refactor:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=A3=BC=EC=84=9D=20=EB=B0=8F=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock/ViewControllers/ViewController.swift | 1 - FlipClock/Views/FlipItem.swift | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 0803424..e1f3368 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -20,7 +20,6 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() -// view.backgroundColor = UIColor(red: 0.063, green: 0.063, blue: 0.063, alpha: 1) view.backgroundColor = .lightGray configure() } diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index ee3d424..286f406 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -102,7 +102,6 @@ extension FlipItem { extension FlipItem { - /// Flip Animation을 하기 전에 불리는 메소드입니다. /// label에 Flip할 이미지를 넣는 작업을 수행합니다. /// - Parameter newText: 변경될 텍스트 @@ -112,7 +111,7 @@ extension FlipItem { label.text = newText - let (_, nextTextBottomView) = createLabelImages() + let nextTextBottomView = createLabelImages().bottom self.nextTextBottomView = nextTextBottomView self.previousTextTopView = previousTextTopView @@ -124,6 +123,7 @@ extension FlipItem { nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 } + /// 현재 `label`을 위 아래 절반으로 자른 이미지로 반환합니다. /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 private func createLabelImages() -> (top: UIView, bottom: UIView) { @@ -147,7 +147,6 @@ extension FlipItem { // 아랫부분을 이미지로 가져옴 UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) image.draw(at: CGPoint(x: 0, y: -image.size.height * 0.5)) - let bottomSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() From 92ce4960d2ec063dd7b61c1b897f928f7c36e4c0 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 2 Aug 2022 14:05:28 +0900 Subject: [PATCH 57/79] =?UTF-8?q?Style:=20=EB=B3=80=EC=88=98=EB=AA=85=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - label -> clockView --- FlipClock/ViewControllers/ViewController.swift | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index e1f3368..9336d77 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -14,7 +14,7 @@ class ViewController: UIViewController { weak var coordinator: MainCoordinator? - private lazy var label = FlipClockView() + private lazy var clockView = FlipClockView() // MARK: - Life Cycle @@ -26,13 +26,13 @@ class ViewController: UIViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - label.start() + clockView.start() } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) - label.stop() + clockView.stop() } } @@ -41,9 +41,9 @@ class ViewController: UIViewController { extension ViewController { private func configure() { - view.addSubview(label) + view.addSubview(clockView) - label.snp.makeConstraints { make in + clockView.snp.makeConstraints { make in make.top.equalTo(view.safeAreaLayoutGuide) make.bottom.equalTo(view.safeAreaLayoutGuide).inset(40) make.leading.trailing.equalTo(view.safeAreaLayoutGuide).inset(40) @@ -62,5 +62,4 @@ extension ViewController { @objc func settingButtonDidTapped() { coordinator?.moveToSetting() } - } From 0eddcf6b9c28d9cb3615f48b62f5319440c41620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=99=8D=EC=8A=B9=ED=98=84?= Date: Wed, 17 Aug 2022 21:21:08 +0900 Subject: [PATCH 58/79] =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EA=B8=B0=EB=8A=A5?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84=20=EB=B0=8F=20UI=20=EC=88=98=EC=A0=95=20(?= =?UTF-8?q?#9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Feat: Mail 발송 기능 구현 - import MessageUI - MFMailComposeViewControllerDelegate 기능 이용 * Feat: 테이블뷰 line 제거 * Feat: Tableviewdelegate, datasource 설정 - cell의 높이는 230으로 고정 * Feat: 테마 imageView에 그림자 추가 * Feat: line 프로퍼티 추가 - 기존에는 바로 선언하여 넣었으나, 프로퍼티화로 변경 * Feat: Extension 추가 - UserDefaults - UIColor * Style: UserDefaults 프로퍼티명 수정 * Feat: userDefaults 저장 함수 구현 * Feat: cell 선택시 테마 설정되도록 구현 * Feat: 테마설정여부를 판단하는 프로퍼티 추가 * Feat: 테마 선택 후 vc dismiss * Feat: Combine으로 테마 변경 - 테마 변경 선택시 publisher가 구독자에게 알려 값을 변경하도록 수정 * Feat: 첫 실행 시 테마설정으로 이동 구현 - UITableViewController -> UIViewController로 설정 - tableView insetGrouped로 설정 * Feat: cell accessory 타입을 arrow indicator로 변경 --- FlipClock.xcodeproj/project.pbxproj | 50 +++++++- .../theme1.imageset/Contents.json | 23 ++++ .../theme1.imageset/theme2-modified.png | Bin 0 -> 65767 bytes .../theme1.imageset/theme2-modified@2x.png | Bin 0 -> 259344 bytes .../theme1.imageset/theme2-modified@3x.png | Bin 0 -> 471249 bytes .../theme2.imageset/Contents.json | 23 ++++ .../theme2.imageset/theme1-modified.png | Bin 0 -> 20914 bytes .../theme2.imageset/theme1-modified@2x.png | Bin 0 -> 48549 bytes .../theme2.imageset/theme1-modified@3x.png | Bin 0 -> 62920 bytes FlipClock/Coordinators/MainCoordinator.swift | 10 +- .../Coordinators/SettingCoordinator.swift | 5 + FlipClock/Coordinators/ThemeCoordinator.swift | 25 ++++ FlipClock/Extensions/UIColor.swift | 21 ++++ FlipClock/Extensions/UserDefaults.swift | 23 ++++ .../SettingsViewController.swift | 109 +++++++++++++++--- .../ViewControllers/ThemeViewController.swift | 65 +++++++++++ .../ViewControllers/ViewController.swift | 13 ++- FlipClock/ViewModels/SettingsViewModel.swift | 22 ++++ FlipClock/ViewModels/ThemeViewModel.swift | 28 +++++ FlipClock/Views/FlipItem.swift | 33 ++++-- FlipClock/Views/FlipView.swift | 23 +++- FlipClock/Views/SettingTableViewCell.swift | 22 ++++ FlipClock/Views/ThemeTableViewCell.swift | 45 ++++++++ 23 files changed, 507 insertions(+), 33 deletions(-) create mode 100644 FlipClock/Assets.xcassets/theme1.imageset/Contents.json create mode 100644 FlipClock/Assets.xcassets/theme1.imageset/theme2-modified.png create mode 100644 FlipClock/Assets.xcassets/theme1.imageset/theme2-modified@2x.png create mode 100644 FlipClock/Assets.xcassets/theme1.imageset/theme2-modified@3x.png create mode 100644 FlipClock/Assets.xcassets/theme2.imageset/Contents.json create mode 100644 FlipClock/Assets.xcassets/theme2.imageset/theme1-modified.png create mode 100644 FlipClock/Assets.xcassets/theme2.imageset/theme1-modified@2x.png create mode 100644 FlipClock/Assets.xcassets/theme2.imageset/theme1-modified@3x.png create mode 100644 FlipClock/Coordinators/ThemeCoordinator.swift create mode 100644 FlipClock/Extensions/UIColor.swift create mode 100644 FlipClock/Extensions/UserDefaults.swift create mode 100644 FlipClock/ViewControllers/ThemeViewController.swift create mode 100644 FlipClock/ViewModels/SettingsViewModel.swift create mode 100644 FlipClock/ViewModels/ThemeViewModel.swift create mode 100644 FlipClock/Views/SettingTableViewCell.swift create mode 100644 FlipClock/Views/ThemeTableViewCell.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 6f4f62f..c177613 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,6 +7,12 @@ objects = { /* Begin PBXBuildFile section */ + BA77EF882898F03F005CF4F6 /* SettingTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */; }; + BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */; }; + BA77EF8D28995550005CF4F6 /* ThemeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */; }; + BA77EF8F289A0DEC005CF4F6 /* ThemeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF8E289A0DEC005CF4F6 /* ThemeCoordinator.swift */; }; + BA77EF91289A21FC005CF4F6 /* ThemeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */; }; + BA77EF93289A23D8005CF4F6 /* ThemeTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */; }; BA7ECC1E287473F000511694 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC1D287473F000511694 /* SnapKit */; }; BA7ECC2128747BBD00511694 /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = BA7ECC2028747BBD00511694 /* Then */; }; BA7ECC232875293100511694 /* FlipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ECC222875293100511694 /* FlipView.swift */; }; @@ -21,9 +27,17 @@ BA95DE1428671BDE00041A30 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1328671BDE00041A30 /* Assets.xcassets */; }; BA95DE1728671BDE00041A30 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */; }; BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlipItem.swift */; }; + BAB686C1289AC3F3007D9F77 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C0289AC3F3007D9F77 /* UIColor.swift */; }; + BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C2289AD754007D9F77 /* UserDefaults.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingTableViewCell.swift; sourceTree = ""; }; + BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; + BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeViewController.swift; sourceTree = ""; }; + BA77EF8E289A0DEC005CF4F6 /* ThemeCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeCoordinator.swift; sourceTree = ""; }; + BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeViewModel.swift; sourceTree = ""; }; + BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTableViewCell.swift; sourceTree = ""; }; BA7ECC222875293100511694 /* FlipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipView.swift; sourceTree = ""; }; BA7ECC2428754CA600511694 /* FlipClockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipClockView.swift; sourceTree = ""; }; BA7ECC2828757D4200511694 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; @@ -38,6 +52,8 @@ BA95DE1628671BDE00041A30 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; BA95DE1828671BDE00041A30 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; BA95DE1E28671EFA00041A30 /* FlipItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItem.swift; sourceTree = ""; }; + BAB686C0289AC3F3007D9F77 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; + BAB686C2289AD754007D9F77 /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -59,15 +75,27 @@ BA95DE1E28671EFA00041A30 /* FlipItem.swift */, BA7ECC222875293100511694 /* FlipView.swift */, BA7ECC2428754CA600511694 /* FlipClockView.swift */, + BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */, + BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */, ); path = Views; sourceTree = ""; }; + BA77EF8B2898F4E8005CF4F6 /* ViewModels */ = { + isa = PBXGroup; + children = ( + BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */, + BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */, + ); + path = ViewModels; + sourceTree = ""; + }; BA7ECC2C28757F1500511694 /* Coordinators */ = { isa = PBXGroup; children = ( BA7ECC2828757D4200511694 /* Coordinator.swift */, BA7ECC2A28757D8A00511694 /* MainCoordinator.swift */, + BA77EF8E289A0DEC005CF4F6 /* ThemeCoordinator.swift */, BA7ECC302875A04D00511694 /* SettingCoordinator.swift */, ); path = Coordinators; @@ -78,6 +106,7 @@ children = ( BA95DE0E28671BDD00041A30 /* ViewController.swift */, BA7ECC2D28759CB200511694 /* SettingsViewController.swift */, + BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */, ); path = ViewControllers; sourceTree = ""; @@ -101,10 +130,12 @@ BA95DE0928671BDD00041A30 /* FlipClock */ = { isa = PBXGroup; children = ( + BAB686BE289AC322007D9F77 /* Extensions */, BA95DE0A28671BDD00041A30 /* AppDelegate.swift */, BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, - BA5FBB0E28796B1A00209EDD /* Views */, BA7ECC2C28757F1500511694 /* Coordinators */, + BA5FBB0E28796B1A00209EDD /* Views */, + BA77EF8B2898F4E8005CF4F6 /* ViewModels */, BA7ECC2F28759CB600511694 /* ViewControllers */, BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, @@ -113,6 +144,15 @@ path = FlipClock; sourceTree = ""; }; + BAB686BE289AC322007D9F77 /* Extensions */ = { + isa = PBXGroup; + children = ( + BAB686C0289AC3F3007D9F77 /* UIColor.swift */, + BAB686C2289AD754007D9F77 /* UserDefaults.swift */, + ); + path = Extensions; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -191,16 +231,24 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + BA77EF882898F03F005CF4F6 /* SettingTableViewCell.swift in Sources */, BA7ECC232875293100511694 /* FlipView.swift in Sources */, + BA77EF8F289A0DEC005CF4F6 /* ThemeCoordinator.swift in Sources */, + BA77EF8D28995550005CF4F6 /* ThemeViewController.swift in Sources */, BA7ECC2B28757D8A00511694 /* MainCoordinator.swift in Sources */, BA95DE0F28671BDD00041A30 /* ViewController.swift in Sources */, + BAB686C1289AC3F3007D9F77 /* UIColor.swift in Sources */, BA7ECC2528754CA600511694 /* FlipClockView.swift in Sources */, BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */, BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, + BA77EF93289A23D8005CF4F6 /* ThemeTableViewCell.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, + BA77EF91289A21FC005CF4F6 /* ThemeViewModel.swift in Sources */, BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, + BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, + BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FlipClock/Assets.xcassets/theme1.imageset/Contents.json b/FlipClock/Assets.xcassets/theme1.imageset/Contents.json new file mode 100644 index 0000000..47e6861 --- /dev/null +++ b/FlipClock/Assets.xcassets/theme1.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "theme2-modified.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "theme2-modified@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "theme2-modified@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FlipClock/Assets.xcassets/theme1.imageset/theme2-modified.png b/FlipClock/Assets.xcassets/theme1.imageset/theme2-modified.png new file mode 100644 index 0000000000000000000000000000000000000000..137d4eca32aa256cf7b1676f8b71b322df70d134 GIT binary patch literal 65767 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%0DhM2np)0_-_go?mUT@`*v3S;ipH< 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 Jer$SOow8 literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/theme1.imageset/theme2-modified@3x.png b/FlipClock/Assets.xcassets/theme1.imageset/theme2-modified@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..558998352374e35f5003e777d386908ba94f6a52 GIT binary patch literal 471249 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

!HxRShb=_*JS9C} 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

&vYKIX}_zdlG;kmX$Mn9WK6u&V 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�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 Z>~+O=XxQ)m2f)waLxJBhzCHEJe*+SS4cY(z literal 0 HcmV?d00001 diff --git a/FlipClock/Assets.xcassets/theme2.imageset/Contents.json b/FlipClock/Assets.xcassets/theme2.imageset/Contents.json new file mode 100644 index 0000000..c274938 --- /dev/null +++ b/FlipClock/Assets.xcassets/theme2.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "theme1-modified.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "theme1-modified@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "theme1-modified@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FlipClock/Assets.xcassets/theme2.imageset/theme1-modified.png b/FlipClock/Assets.xcassets/theme2.imageset/theme1-modified.png new file mode 100644 index 0000000000000000000000000000000000000000..6502f8489b103b222fc35274f1ec539dc5bd2a70 GIT binary patch literal 20914 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 PFY%a**KcJaq=|)M3Aw)$y^ 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 ib^LMcMyM5=^`HMOoom`egHSzK5E literal 0 HcmV?d00001 diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift index 0d2536a..a73d760 100644 --- a/FlipClock/Coordinators/MainCoordinator.swift +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -24,6 +24,13 @@ class MainCoordinator: NSObject, Coordinator { let vc = ViewController() vc.coordinator = self navigationController.pushViewController(vc, animated: false) + + // 테마 설정 안되어 있다면 설정할 수 있도록 보여줌 + if !UserDefaults.standard.isThemeConfigured { + let themeVC = ThemeViewController() + themeVC.modalPresentationStyle = .fullScreen + vc.present(themeVC, animated: true) + } } @@ -55,7 +62,6 @@ extension MainCoordinator: UINavigationControllerDelegate { didShow viewController: UIViewController, animated: Bool ) { - guard let fromVC = navigationController.transitionCoordinator?.viewController(forKey: .from) else { return } @@ -67,7 +73,5 @@ extension MainCoordinator: UINavigationControllerDelegate { if let settingVC = fromVC as? SettingsViewController { childDidFinish(settingVC.coordinator) } - - } } diff --git a/FlipClock/Coordinators/SettingCoordinator.swift b/FlipClock/Coordinators/SettingCoordinator.swift index ff1fe81..ccaa234 100644 --- a/FlipClock/Coordinators/SettingCoordinator.swift +++ b/FlipClock/Coordinators/SettingCoordinator.swift @@ -23,4 +23,9 @@ class SettingCoordinator: Coordinator { vc.coordinator = self navigationController.pushViewController(vc, animated: true) } + + func moveToThemeVC() { + let child = ThemeCoordinator(navigationController: navigationController) + child.start() + } } diff --git a/FlipClock/Coordinators/ThemeCoordinator.swift b/FlipClock/Coordinators/ThemeCoordinator.swift new file mode 100644 index 0000000..9582b13 --- /dev/null +++ b/FlipClock/Coordinators/ThemeCoordinator.swift @@ -0,0 +1,25 @@ +// +// ThemeCoordinator.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/03. +// + +import UIKit + +class ThemeCoordinator: Coordinator { + + var childCoordinators: [Coordinator] = [] + var navigationController: UINavigationController + + init(navigationController: UINavigationController) { + self.navigationController = navigationController + } + + + func start() { + let vc = ThemeViewController() + vc.coordinator = self + navigationController.viewControllers.last?.present(vc, animated: true) + } +} diff --git a/FlipClock/Extensions/UIColor.swift b/FlipClock/Extensions/UIColor.swift new file mode 100644 index 0000000..6b6a609 --- /dev/null +++ b/FlipClock/Extensions/UIColor.swift @@ -0,0 +1,21 @@ +import UIKit + +extension UIColor { + + convenience init(red: Int, green: Int, blue: Int, alpha: Int = 0xFF) { + self.init( + red: CGFloat(red) / 255, + green: CGFloat(green) / 255, + blue: CGFloat(blue) / 255, + alpha: CGFloat(alpha) / 255 + ) + } + + convenience init(rgb: Int) { + self.init( + red: rgb >> 16 & 0xFF, + green: rgb >> 8 & 0xFF, + blue: rgb & 0xFF + ) + } +} diff --git a/FlipClock/Extensions/UserDefaults.swift b/FlipClock/Extensions/UserDefaults.swift new file mode 100644 index 0000000..2e60ed5 --- /dev/null +++ b/FlipClock/Extensions/UserDefaults.swift @@ -0,0 +1,23 @@ +import Foundation + +extension UserDefaults { + + @objc var backgroundColorTheme: Int { + get { integer(forKey: #function) } + set { set(newValue, forKey: #function) } + } + + @objc var textColorTheme: Int { + get { integer(forKey: #function) } + set { set(newValue, forKey: #function) } + } + + @objc var clockBackgroundColorTheme: Int { + get { integer(forKey: #function) } + set { set(newValue, forKey: #function) } + } + + var isThemeConfigured: Bool { + backgroundColorTheme != 0 || textColorTheme != 0 || clockBackgroundColorTheme != 0 + } +} diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/ViewControllers/SettingsViewController.swift index 01fa985..03cbaff 100644 --- a/FlipClock/ViewControllers/SettingsViewController.swift +++ b/FlipClock/ViewControllers/SettingsViewController.swift @@ -5,19 +5,28 @@ // Created by 홍승현 on 2022/07/06. // +import MessageUI import UIKit import SnapKit import Then -class SettingsViewController: UITableViewController { +class SettingsViewController: UIViewController { weak var coordinator: SettingCoordinator? + var viewModel = SettingsViewModel() + + private lazy var tableView = UITableView(frame: .zero, style: .insetGrouped).then { + $0.dataSource = self + $0.delegate = self + $0.register(SettingTableViewCell.self, forCellReuseIdentifier: SettingTableViewCell.id) + } override func viewDidLoad() { super.viewDidLoad() + configureLayout() + configureConstraints() configureUI() - configureTableView() } } @@ -25,25 +34,93 @@ class SettingsViewController: UITableViewController { extension SettingsViewController { + private func configureLayout() { + view.addSubview(tableView) + } + + private func configureConstraints() { + tableView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } + private func configureUI() { - view.backgroundColor = .lightGray - - let label = UILabel().then { - $0.textAlignment = .center - $0.text = "준비중이에요!" - $0.textColor = .darkGray - $0.font = .systemFont(ofSize: 30, weight: .semibold) + view.backgroundColor = .systemBackground + } +} + +// MARK: - UITableViewDataSource + +extension SettingsViewController: UITableViewDataSource { + func numberOfSections(in tableView: UITableView) -> Int { + return viewModel.numberOfSections + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return viewModel.numberOfRowsInSection + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + guard let cell = tableView.dequeueReusableCell(withIdentifier: SettingTableViewCell.id, for: indexPath) as? SettingTableViewCell else { + fatalError("Cell을 다운캐스팅할 수 없습니다.") } - view.addSubview(label) + var content = cell.defaultContentConfiguration() + content.image = UIImage(systemName: viewModel.cellImageNames[indexPath.section]) + content.text = viewModel.cellTitles[indexPath.section] + content.imageProperties.tintColor = .black + cell.contentConfiguration = content + - label.snp.makeConstraints { make in - make.centerX.centerY.equalToSuperview() + return cell + } + + func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + return viewModel.sections[section] + } +} + +// MARK: - UITableViewDelegate + +extension SettingsViewController: UITableViewDelegate { + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + + switch indexPath.section { + case 0: // theme + coordinator?.moveToThemeVC() + break + case 1: // mail + sendMail() + default: + break + } + } +} + + +// MARK: - MFMailComposeViewController + +extension SettingsViewController: MFMailComposeViewControllerDelegate { + + private func showMailErrorAlert() { + let controller = UIAlertController(title: "실패", message: "아이폰 메일 설정을 확인해주세요.", preferredStyle: .alert) + controller.addAction(UIAlertAction(title: "확인", style: .default)) + present(controller, animated: true) + } + + private func sendMail() { + guard MFMailComposeViewController.canSendMail() else { + showMailErrorAlert() + return } + let composeVC = MFMailComposeViewController() + composeVC.mailComposeDelegate = self + composeVC.setToRecipients(["whi7ehyun@gmail.com"]) + composeVC.setSubject(" 문의 및 의견") + present(composeVC, animated: true) } - private func configureTableView() { - tableView.dataSource = self - tableView.delegate = self - tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") + func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { + controller.dismiss(animated: true) } } diff --git a/FlipClock/ViewControllers/ThemeViewController.swift b/FlipClock/ViewControllers/ThemeViewController.swift new file mode 100644 index 0000000..1220f79 --- /dev/null +++ b/FlipClock/ViewControllers/ThemeViewController.swift @@ -0,0 +1,65 @@ +// +// ThemeViewController.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/02. +// + +import UIKit + +class ThemeViewController: UITableViewController { + + weak var coordinator: ThemeCoordinator? + let viewModel = ThemeViewModel() + + override func viewDidLoad() { + super.viewDidLoad() + configureUI() + configureTableView() + } + + private func configureUI() { + view.backgroundColor = .systemBackground + } + + private func configureTableView() { + tableView.separatorStyle = .none + tableView.dataSource = self + tableView.delegate = self + tableView.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) + } +} + + +// MARK: - UITableViewDataSource + +extension ThemeViewController { + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return viewModel.numberOfRowsInSection + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + guard let cell = tableView.dequeueReusableCell(withIdentifier: ThemeTableViewCell.id, for: indexPath) as? ThemeTableViewCell, + let image = viewModel.clockThemes[indexPath.row] + else { + fatalError("Error!") + } + + cell.configure(with: image) + + return cell + } +} + +// MARK: - UITableViewDelegate + +extension ThemeViewController { + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 230 + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + viewModel.userDefaults(storeWith: indexPath.row) + dismiss(animated: true) + } +} diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/ViewControllers/ViewController.swift index 9336d77..b8d86a5 100644 --- a/FlipClock/ViewControllers/ViewController.swift +++ b/FlipClock/ViewControllers/ViewController.swift @@ -5,6 +5,7 @@ // Created by 홍승현 on 2022/06/25. // +import Combine import UIKit import SnapKit @@ -15,13 +16,14 @@ class ViewController: UIViewController { weak var coordinator: MainCoordinator? private lazy var clockView = FlipClockView() + private var subscriptions = Set() // MARK: - Life Cycle override func viewDidLoad() { super.viewDidLoad() - view.backgroundColor = .lightGray configure() + binding() } override func viewWillAppear(_ animated: Bool) { @@ -58,6 +60,15 @@ extension ViewController { navigationController?.navigationBar.tintColor = .label } + private func binding() { + UserDefaults.standard + .publisher(for: \.backgroundColorTheme) + .sink { [weak self] in + self?.view.backgroundColor = .init(rgb: $0) + } + .store(in: &subscriptions) + } + @objc func settingButtonDidTapped() { coordinator?.moveToSetting() diff --git a/FlipClock/ViewModels/SettingsViewModel.swift b/FlipClock/ViewModels/SettingsViewModel.swift new file mode 100644 index 0000000..9fc05a4 --- /dev/null +++ b/FlipClock/ViewModels/SettingsViewModel.swift @@ -0,0 +1,22 @@ +// +// SettingsViewModel.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/02. +// + +import Foundation + +struct SettingsViewModel { + + let sections = ["배경 테마", "피드백"] + + let cellTitles = ["테마 변경", "의견 보내기"] + let cellImageNames = ["paintbrush", "ellipsis.bubble"] + + var numberOfSections: Int { + sections.count + } + + let numberOfRowsInSection = 1 +} diff --git a/FlipClock/ViewModels/ThemeViewModel.swift b/FlipClock/ViewModels/ThemeViewModel.swift new file mode 100644 index 0000000..7573bc2 --- /dev/null +++ b/FlipClock/ViewModels/ThemeViewModel.swift @@ -0,0 +1,28 @@ +// +// ThemeViewModel.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/03. +// + +import UIKit + +struct ThemeViewModel { + + let clockThemes: [UIImage?] = [.init(named: "theme1"), .init(named: "theme2")] + private let backgroundColorTheme = [0xAAAAAA, 0xF0F2F7] + private let textColorTheme = [0xFFFFFF, 0x000000] + private let clockBackgroundColorTheme = [0x000000, 0xFFFFFF] + + var numberOfRowsInSection: Int { + clockThemes.count + } + + func userDefaults(storeWith index: Int) { + UserDefaults.standard.do { + $0.backgroundColorTheme = backgroundColorTheme[index] + $0.textColorTheme = textColorTheme[index] + $0.clockBackgroundColorTheme = clockBackgroundColorTheme[index] + } + } +} diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift index 286f406..8a597f3 100644 --- a/FlipClock/Views/FlipItem.swift +++ b/FlipClock/Views/FlipItem.swift @@ -5,6 +5,7 @@ // Created by 홍승현 on 2022/06/25. // +import Combine import UIKit import SnapKit @@ -20,7 +21,6 @@ class FlipItem: UIView { $0.textAlignment = .center $0.font = .systemFont(ofSize: 90, weight: .bold) $0.text = "00" - $0.textColor = .white } /// Flippable label Text @@ -46,12 +46,15 @@ class FlipItem: UIView { private var nextTextBottomView: UIView! + private var subscriptions = Set() + // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) configure() + binding() } required init?(coder: NSCoder) { @@ -66,8 +69,7 @@ extension FlipItem { override func layoutSubviews() { super.layoutSubviews() - label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) - configureLabelSize() + configureLabelStyles() } } @@ -88,14 +90,31 @@ extension FlipItem { make.edges.equalToSuperview() } - backgroundColor = .black + backgroundColor = UserDefaults.standard.isThemeConfigured ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) : .black } /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. - private func configureLabelSize() { + private func configureLabelStyles() { + label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) label.font = .systemFont(ofSize: bounds.width * 0.6, weight: .bold) } + + private func binding() { + UserDefaults.standard + .publisher(for: \.clockBackgroundColorTheme) + .sink { [weak self] in + self?.backgroundColor = .init(rgb: $0) + } + .store(in: &subscriptions) + + UserDefaults.standard + .publisher(for: \.textColorTheme) + .sink { [weak self] in + self?.label.textColor = .init(rgb: $0) + } + .store(in: &subscriptions) + } } // MARK: - Custom Functions @@ -242,7 +261,7 @@ extension FlipItem { x: 0, y: 0, width: previousTextBottomView.frame.width, - height: previousTextBottomView.frame.height * 0.8 + height: previousTextBottomView.frame.height ) previousTextBottomView.layer.addSublayer(bottomShadowLayer) @@ -277,7 +296,7 @@ extension FlipItem { .init(name: .easeIn), .init(name: .linear) ] - animation.duration = topAnimationDuration + bottomAnimationDuration - 0.2 + animation.duration = topAnimationDuration + bottomAnimationDuration bottomShadowLayer.add(animation, forKey: "shadowAnimation") diff --git a/FlipClock/Views/FlipView.swift b/FlipClock/Views/FlipView.swift index 1a7b70c..c696c3d 100644 --- a/FlipClock/Views/FlipView.swift +++ b/FlipClock/Views/FlipView.swift @@ -5,6 +5,7 @@ // Created by 홍승현 on 2022/07/06. // +import Combine import UIKit import SnapKit @@ -17,18 +18,23 @@ class FlipView: UIView { private lazy var item = FlipItem() + private lazy var line = UIView() + var time: String? { didSet { item.text = time } } + private var subscriptions = Set() + // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) configure() + binding() } required init?(coder: NSCoder) { @@ -42,18 +48,25 @@ extension FlipView { private func configure() { addSubview(item) + addSubview(line) + item.snp.makeConstraints { make in make.edges.equalToSuperview() } - let line = UIView().then { - $0.backgroundColor = .lightGray - } - addSubview(line) line.snp.makeConstraints { make in - make.height.equalTo(5) + make.height.equalTo(3) make.centerY.equalToSuperview() make.leading.trailing.equalToSuperview() } } + + private func binding() { + UserDefaults.standard + .publisher(for: \.backgroundColorTheme) + .sink { [weak self] in + self?.line.backgroundColor = .init(rgb: $0) + } + .store(in: &subscriptions) + } } diff --git a/FlipClock/Views/SettingTableViewCell.swift b/FlipClock/Views/SettingTableViewCell.swift new file mode 100644 index 0000000..baf1722 --- /dev/null +++ b/FlipClock/Views/SettingTableViewCell.swift @@ -0,0 +1,22 @@ +// +// SettingTableViewCell.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/02. +// + +import UIKit + +class SettingTableViewCell: UITableViewCell { + + static let id = "SettingTableViewCell" + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + accessoryType = .disclosureIndicator + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/FlipClock/Views/ThemeTableViewCell.swift b/FlipClock/Views/ThemeTableViewCell.swift new file mode 100644 index 0000000..7cc3327 --- /dev/null +++ b/FlipClock/Views/ThemeTableViewCell.swift @@ -0,0 +1,45 @@ +// +// ThemeTableViewCell.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/03. +// + +import UIKit + +import SnapKit +import Then + +final class ThemeTableViewCell: UITableViewCell { + + static let id = "ThemeTableViewCell" + + private lazy var themeImageView = UIImageView().then { + $0.contentMode = .scaleAspectFit + $0.layer.shadowOffset = CGSize(width: 5, height: 5) + $0.layer.shadowOpacity = 0.7 + $0.layer.shadowRadius = 5 + $0.layer.shadowColor = UIColor.gray.cgColor + } + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + configure() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + private func configure() { + contentView.addSubview(themeImageView) + + themeImageView.snp.makeConstraints { make in + make.edges.equalToSuperview().inset(20) + } + } + + func configure(with image: UIImage) { + themeImageView.image = image + } +} From c5ec5d970845cb8868aa97c3e7c414f410942160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=99=8D=EC=8A=B9=ED=98=84?= Date: Sat, 20 Aug 2022 11:40:32 +0900 Subject: [PATCH 59/79] =?UTF-8?q?FlipItem=20ViewModel=20=EC=97=AD=ED=95=A0?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=20(#11)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Feat: FlipItemViewModel 추가 * Feat: FlipAnimationViewModel 추가 * Feat: Animation 코드를 FlipAnimationViewModel로 이관 * Feat: 로직을 viewModel로 이관 * Style: 폴더 정렬 --- FlipClock.xcodeproj/project.pbxproj | 84 ++-- .../{ => FlipClockView}/FlipClockView.swift | 0 FlipClock/Views/FlipItem.swift | 377 ------------------ .../FlipItem/FlipAnimationViewModel.swift | 186 +++++++++ FlipClock/Views/FlipItem/FlipItem.swift | 151 +++++++ .../Views/FlipItem/FlipItemViewModel.swift | 72 ++++ FlipClock/Views/{ => FlipView}/FlipView.swift | 2 +- .../SettingTableViewCell.swift | 0 .../SettingsVC}/SettingsViewController.swift | 0 .../SettingsVC}/SettingsViewModel.swift | 0 .../{ => ThemeVC}/ThemeTableViewCell.swift | 0 .../ThemeVC}/ThemeViewController.swift | 0 .../ThemeVC}/ThemeViewModel.swift | 0 .../ViewController.swift | 0 14 files changed, 468 insertions(+), 404 deletions(-) rename FlipClock/Views/{ => FlipClockView}/FlipClockView.swift (100%) delete mode 100644 FlipClock/Views/FlipItem.swift create mode 100644 FlipClock/Views/FlipItem/FlipAnimationViewModel.swift create mode 100644 FlipClock/Views/FlipItem/FlipItem.swift create mode 100644 FlipClock/Views/FlipItem/FlipItemViewModel.swift rename FlipClock/Views/{ => FlipView}/FlipView.swift (97%) rename FlipClock/Views/{ => SettingsVC}/SettingTableViewCell.swift (100%) rename FlipClock/{ViewControllers => Views/SettingsVC}/SettingsViewController.swift (100%) rename FlipClock/{ViewModels => Views/SettingsVC}/SettingsViewModel.swift (100%) rename FlipClock/Views/{ => ThemeVC}/ThemeTableViewCell.swift (100%) rename FlipClock/{ViewControllers => Views/ThemeVC}/ThemeViewController.swift (100%) rename FlipClock/{ViewModels => Views/ThemeVC}/ThemeViewModel.swift (100%) rename FlipClock/{ViewControllers => Views}/ViewController.swift (100%) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index c177613..69390a5 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + BA6D0F6528AE217900F1EF31 /* FlipItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */; }; + BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */; }; BA77EF882898F03F005CF4F6 /* SettingTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */; }; BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */; }; BA77EF8D28995550005CF4F6 /* ThemeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */; }; @@ -32,6 +34,8 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItemViewModel.swift; sourceTree = ""; }; + BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipAnimationViewModel.swift; sourceTree = ""; }; BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingTableViewCell.swift; sourceTree = ""; }; BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeViewController.swift; sourceTree = ""; }; @@ -72,24 +76,16 @@ BA5FBB0E28796B1A00209EDD /* Views */ = { isa = PBXGroup; children = ( - BA95DE1E28671EFA00041A30 /* FlipItem.swift */, - BA7ECC222875293100511694 /* FlipView.swift */, - BA7ECC2428754CA600511694 /* FlipClockView.swift */, - BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */, - BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */, + BA95DE0E28671BDD00041A30 /* ViewController.swift */, + BAC6AEB328B075F7004F01BF /* FlipItem */, + BAC6AEB428B0760A004F01BF /* FlipView */, + BAC6AEB528B07615004F01BF /* FlipClockView */, + BAC6AEB628B07656004F01BF /* SettingsVC */, + BAC6AEB728B07665004F01BF /* ThemeVC */, ); path = Views; sourceTree = ""; }; - BA77EF8B2898F4E8005CF4F6 /* ViewModels */ = { - isa = PBXGroup; - children = ( - BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */, - BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */, - ); - path = ViewModels; - sourceTree = ""; - }; BA7ECC2C28757F1500511694 /* Coordinators */ = { isa = PBXGroup; children = ( @@ -101,16 +97,6 @@ path = Coordinators; sourceTree = ""; }; - BA7ECC2F28759CB600511694 /* ViewControllers */ = { - isa = PBXGroup; - children = ( - BA95DE0E28671BDD00041A30 /* ViewController.swift */, - BA7ECC2D28759CB200511694 /* SettingsViewController.swift */, - BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */, - ); - path = ViewControllers; - sourceTree = ""; - }; BA95DDFE28671BDD00041A30 = { isa = PBXGroup; children = ( @@ -135,8 +121,6 @@ BA95DE0C28671BDD00041A30 /* SceneDelegate.swift */, BA7ECC2C28757F1500511694 /* Coordinators */, BA5FBB0E28796B1A00209EDD /* Views */, - BA77EF8B2898F4E8005CF4F6 /* ViewModels */, - BA7ECC2F28759CB600511694 /* ViewControllers */, BA95DE1328671BDE00041A30 /* Assets.xcassets */, BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */, BA95DE1828671BDE00041A30 /* Info.plist */, @@ -153,6 +137,52 @@ path = Extensions; sourceTree = ""; }; + BAC6AEB328B075F7004F01BF /* FlipItem */ = { + isa = PBXGroup; + children = ( + BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */, + BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */, + BA95DE1E28671EFA00041A30 /* FlipItem.swift */, + ); + path = FlipItem; + sourceTree = ""; + }; + BAC6AEB428B0760A004F01BF /* FlipView */ = { + isa = PBXGroup; + children = ( + BA7ECC222875293100511694 /* FlipView.swift */, + ); + path = FlipView; + sourceTree = ""; + }; + BAC6AEB528B07615004F01BF /* FlipClockView */ = { + isa = PBXGroup; + children = ( + BA7ECC2428754CA600511694 /* FlipClockView.swift */, + ); + path = FlipClockView; + sourceTree = ""; + }; + BAC6AEB628B07656004F01BF /* SettingsVC */ = { + isa = PBXGroup; + children = ( + BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */, + BA77EF892898F4E4005CF4F6 /* SettingsViewModel.swift */, + BA7ECC2D28759CB200511694 /* SettingsViewController.swift */, + ); + path = SettingsVC; + sourceTree = ""; + }; + BAC6AEB728B07665004F01BF /* ThemeVC */ = { + isa = PBXGroup; + children = ( + BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */, + BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */, + BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */, + ); + path = ThemeVC; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -243,11 +273,13 @@ BA95DE0B28671BDD00041A30 /* AppDelegate.swift in Sources */, BA77EF93289A23D8005CF4F6 /* ThemeTableViewCell.swift in Sources */, BA95DE0D28671BDD00041A30 /* SceneDelegate.swift in Sources */, + BA6D0F6528AE217900F1EF31 /* FlipItemViewModel.swift in Sources */, BA77EF91289A21FC005CF4F6 /* ThemeViewModel.swift in Sources */, BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, + BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */, BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/FlipClock/Views/FlipClockView.swift b/FlipClock/Views/FlipClockView/FlipClockView.swift similarity index 100% rename from FlipClock/Views/FlipClockView.swift rename to FlipClock/Views/FlipClockView/FlipClockView.swift diff --git a/FlipClock/Views/FlipItem.swift b/FlipClock/Views/FlipItem.swift deleted file mode 100644 index 8a597f3..0000000 --- a/FlipClock/Views/FlipItem.swift +++ /dev/null @@ -1,377 +0,0 @@ -// -// FlipItem.swift -// FlipClock -// -// Created by 홍승현 on 2022/06/25. -// - -import Combine -import UIKit - -import SnapKit -import Then - - -class FlipItem: UIView { - - - // MARK: - Properties - - private let label = UILabel().then { - $0.textAlignment = .center - $0.font = .systemFont(ofSize: 90, weight: .bold) - $0.text = "00" - } - - /// Flippable label Text - var text: String? { - get { - return label.text - } - - set { - guard let value = newValue, label.text != newValue else { return } - updateWithText(value) - startAnimations() - } - } - - // Flip되는 시간 설정 - private let topAnimationDuration: CFTimeInterval = 0.4 - private let bottomAnimationDuration: CFTimeInterval = 0.2 - - - private var previousTextTopView: UIView! - private var previousTextBottomView: UIView! - - private var nextTextBottomView: UIView! - - private var subscriptions = Set() - - - // MARK: - Initialization - - override init(frame: CGRect) { - super.init(frame: frame) - configure() - binding() - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} - - -// MARK: - Layout Cycle - -extension FlipItem { - - override func layoutSubviews() { - super.layoutSubviews() - configureLabelStyles() - } -} - - -// MARK: - Configuration - -extension FlipItem { - - private func configure() { - - // 모서리 둥글게 설정 - layer.cornerRadius = 15 - - // layout 세팅 - addSubview(label) - - label.snp.makeConstraints { make in - make.edges.equalToSuperview() - } - - backgroundColor = UserDefaults.standard.isThemeConfigured ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) : .black - } - - - /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. - private func configureLabelStyles() { - label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) - label.font = .systemFont(ofSize: bounds.width * 0.6, weight: .bold) - } - - private func binding() { - UserDefaults.standard - .publisher(for: \.clockBackgroundColorTheme) - .sink { [weak self] in - self?.backgroundColor = .init(rgb: $0) - } - .store(in: &subscriptions) - - UserDefaults.standard - .publisher(for: \.textColorTheme) - .sink { [weak self] in - self?.label.textColor = .init(rgb: $0) - } - .store(in: &subscriptions) - } -} - -// MARK: - Custom Functions - -extension FlipItem { - - /// Flip Animation을 하기 전에 불리는 메소드입니다. - /// label에 Flip할 이미지를 넣는 작업을 수행합니다. - /// - Parameter newText: 변경될 텍스트 - private func updateWithText(_ newText: String) { - - let (previousTextTopView, previousTextBottomView) = createLabelImages() - - label.text = newText - - let nextTextBottomView = createLabelImages().bottom - - self.nextTextBottomView = nextTextBottomView - self.previousTextTopView = previousTextTopView - self.previousTextBottomView = previousTextBottomView - - [previousTextTopView, previousTextBottomView, nextTextBottomView].forEach { - label.addSubview($0) - } - nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 - } - - - /// 현재 `label`을 위 아래 절반으로 자른 이미지로 반환합니다. - /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 - private func createLabelImages() -> (top: UIView, bottom: UIView) { - - // 현재 label의 이미지 값을 도출 - UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) - layer.render(in: UIGraphicsGetCurrentContext()!) - let image = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - - // label 높이의 절반 크기로 설정 - let snapshotSize = CGSize(width: image.size.width, height: image.size.height * 0.5) - - - // 윗부분을 이미지로 가져옴 - UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) - image.draw(at: .zero) - let topSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - - // 아랫부분을 이미지로 가져옴 - UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) - image.draw(at: CGPoint(x: 0, y: -image.size.height * 0.5)) - let bottomSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - - let topView = UIImageView(image: topSnapshotImage) - let bottomView = UIImageView(image: bottomSnapshotImage) - - // bottomimageView를 밑에 둚 - bottomView.frame.origin.y = snapshotSize.height - - return (topView, bottomView) - } -} - - -// MARK: - Animations - -extension FlipItem { - private func startAnimations() { - shadowAnimation() - topLabelFlippingAnimation() - bottomShadowAnimation() - } - - /// 윗 부분과 아랫부분 글자의 그림자 애니메이션을 추가합니다. - private func shadowAnimation() { - let topViewShadow = UIView(frame: previousTextTopView.bounds) - topViewShadow.backgroundColor = .black - topViewShadow.alpha = 0 - topViewShadow.layer.cornerRadius = 15 - - previousTextTopView.addSubview(topViewShadow) - - let bottomViewShadow = UIView(frame: previousTextBottomView.bounds) - bottomViewShadow.backgroundColor = .black - bottomViewShadow.alpha = 0 - bottomViewShadow.layer.cornerRadius = 15 - - previousTextBottomView.addSubview(bottomViewShadow) - - UIView.animate(withDuration: topAnimationDuration) { - topViewShadow.alpha = 0.3 - } - - UIView.animate(withDuration: topAnimationDuration) { - bottomViewShadow.alpha = 0.2 - } - } - - - /// 윗 부분의 Flip 애니메이션을 진행합니다. - private func topLabelFlippingAnimation() { - - // 기준점 가운데 하단으로 설정 - previousTextTopView.layer.anchorPoint = CGPoint(x: 0.5, y: 1) - - // 기준점 변경으로 인한 center값 조정 (layer Position) - previousTextTopView.center = CGPoint( - x: previousTextTopView.frame.width * 0.5, - y: previousTextTopView.frame.height - ) - - - let topAnimation = CABasicAnimation(keyPath: "transform.rotation.x") - topAnimation.duration = topAnimationDuration // 애니메이션 시간 - topAnimation.fromValue = 0 // 0부터 - topAnimation.toValue = Double.pi * 0.5 // 90도 까지 - topAnimation.delegate = self - - topAnimation.fillMode = .forwards // 애니메이션 끝난 뒤 변경상태 유지 - topAnimation.timingFunction = .init(name: .easeIn) - - topAnimation.setValue("End", forKey: "topAnimation") // key값 설정 - - - - // 3D 변환행렬 이용하여 label 회전 - var perspectiveTransform = CATransform3DIdentity - perspectiveTransform.m34 = 0.0025 - perspectiveTransform = CATransform3DRotate(perspectiveTransform, .pi * 0.5, 1, 0, 0) - previousTextTopView.layer.transform = perspectiveTransform - - - previousTextTopView.layer.add(topAnimation, forKey: "topRotation") // 애니메이션 시작 - } - - - /// 위 Flip 이미지로 인한 그림자를 생성해주기 위한 애니메이션입니다. - private func bottomShadowAnimation() { - - let bottomShadowLayer = CAShapeLayer() - - let frame = CGRect( - x: 0, - y: 0, - width: previousTextBottomView.frame.width, - height: previousTextBottomView.frame.height - ) - - previousTextBottomView.layer.addSublayer(bottomShadowLayer) - - - let path = UIBezierPath() - path.move(to: .zero) - path.addLine(to: CGPoint(x: frame.width, y: 0.0)) - path.addLine(to: CGPoint(x: frame.width, y: 0.0)) - path.close() - - - bottomShadowLayer.opacity = 0.3 - bottomShadowLayer.frame = frame - - - let endPath = UIBezierPath() - endPath.move(to: .zero) - endPath.addLine(to: CGPoint(x: frame.width, y: 0.0)) - endPath.addLine(to: CGPoint(x: frame.width, y: frame.height)) - endPath.addLine(to: CGPoint(x: 0.0, y: frame.height)) - endPath.close() - - - let animation = CAKeyframeAnimation(keyPath: "path") - animation.values = [ - path.cgPath, - endPath.cgPath - ] - - animation.timingFunctions = [ - .init(name: .easeIn), - .init(name: .linear) - ] - animation.duration = topAnimationDuration + bottomAnimationDuration - - - bottomShadowLayer.add(animation, forKey: "shadowAnimation") - } - - - /// 아랫부분 이미지의 Flip 애니메이션을 진행합니다. - private func bottomLabelFlippingAnimation() { - - nextTextBottomView.isHidden = false - - nextTextBottomView.layer.anchorPoint = CGPoint(x: 0.5, y: 0) - nextTextBottomView.center = CGPoint( - x: nextTextBottomView.frame.width * 0.5, - y: nextTextBottomView.frame.height - ) - - - let bottomAnimation = CABasicAnimation(keyPath:"transform.rotation.x") - bottomAnimation.duration = bottomAnimationDuration - bottomAnimation.fromValue = Double.pi * 0.5 - bottomAnimation.toValue = 0 - bottomAnimation.delegate = self - - bottomAnimation.fillMode = .forwards - bottomAnimation.isRemovedOnCompletion = false // 애니메이션 끝난 뒤 깜빡이는 현상 수정 - bottomAnimation.timingFunction = .init(name: .linear) - - bottomAnimation.setValue("End", forKey: "bottomAnimation") - - - var perspectiveTransform = CATransform3DIdentity - perspectiveTransform.m34 = -1 / 340 - perspectiveTransform = CATransform3DRotate(perspectiveTransform, .pi * 0.5, 1, 0, 0) - nextTextBottomView.layer.transform = perspectiveTransform - - - nextTextBottomView.layer.add(bottomAnimation, forKey: "bottomRotation") - } - - - /// 모든 애니메이션을 중지시키고, 애니메이션 이미지를 삭제합니다. - func stopAnimations() { - if nextTextBottomView != nil { - nextTextBottomView.layer.removeAllAnimations() - nextTextBottomView.removeFromSuperview() - nextTextBottomView = nil - } - - if previousTextTopView != nil { - previousTextTopView.layer.removeAllAnimations() - previousTextTopView.removeFromSuperview() - previousTextTopView = nil - } - - if previousTextBottomView != nil { - previousTextBottomView.layer.removeAllAnimations() - previousTextBottomView.removeFromSuperview() - previousTextBottomView = nil - } - - label.layer.sublayers = nil - } -} - - -extension FlipItem: CAAnimationDelegate { - - - func animationDidStop(_ anim: CAAnimation, finished flag: Bool) { - if flag && anim.value(forKey: "topAnimation") != nil { - bottomLabelFlippingAnimation() - } - else if !flag || anim.value(forKey: "bottomAnimation") != nil { - stopAnimations() - } - } -} diff --git a/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift new file mode 100644 index 0000000..65aa5ab --- /dev/null +++ b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift @@ -0,0 +1,186 @@ +// +// FlipAnimationViewModel.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/18. +// + +import Combine +import UIKit + + +struct FlipAnimationViewModel { + + func shadowAnimation(_ view: UIView, alpha: CGFloat) { + let shadow = UIView(frame: view.bounds).then { + $0.backgroundColor = .black + $0.alpha = 0 + $0.layer.cornerRadius = 15 + } + + view.addSubview(shadow) + + UIView.animate(withDuration: FlipType.top.duration) { + shadow.alpha = alpha + } + } + + /// Flip 애니메이션을 진행합니다. + /// - Parameters: + /// - view: 애니메이션을 적용할 view + /// - type: flip되는 부분 + /// - completion: `animation`이 끝난 뒤에 실행되는 클로저 + func flipAnimation(_ view: UIView, type: FlipType, completion: (() -> Void)? = nil) { + + CATransaction.begin() + CATransaction.setCompletionBlock(completion) + // 기준점 설정 + view.layer.anchorPoint = type.anchorPoint + + // 기준점 변경으로 인한 center값 조정 (layer에서의 position) + view.center = CGPoint( + x: view.bounds.width * 0.5, + y: view.bounds.height + ) + + let animation = CABasicAnimation(keyPath: "transform.rotation.x") + animation.duration = type.duration // 애니메이션 시간 + + animation.fromValue = type.startDegree + animation.toValue = type.destinationDegree + + animation.fillMode = .forwards // 애니메이션 끝난 뒤 변경상태 유지 + animation.isRemovedOnCompletion = false // 애니메이션 끝난 뒤 깜빡이는 현상 수정 + animation.timingFunction = type.animationTimingFunction + + animation.setValue("End", forKey: type.id) // key값 설정 + + view.layer.transform = type.perspectiveTransform + + + view.layer.add(animation, forKey: "rotation") // 애니메이션 시작 + + CATransaction.commit() + } + + /// 위 Flip 이미지로 인한 그림자를 생성해주기 위한 애니메이션입니다. + func bottomShadowAnimation(_ view: UIView) { + + let bottomShadowLayer = CAShapeLayer() + + let frame = CGRect( + x: 0, + y: 0, + width: view.frame.width, + height: view.frame.height + ) + + view.layer.addSublayer(bottomShadowLayer) + + + let path = UIBezierPath() + path.move(to: .zero) + path.addLine(to: CGPoint(x: frame.width, y: 0.0)) + path.addLine(to: CGPoint(x: frame.width, y: 0.0)) + path.close() + + + bottomShadowLayer.opacity = 0.3 + bottomShadowLayer.frame = frame + + + let endPath = UIBezierPath() + endPath.move(to: .zero) + endPath.addLine(to: CGPoint(x: frame.width, y: 0.0)) + endPath.addLine(to: CGPoint(x: frame.width, y: frame.height)) + endPath.addLine(to: CGPoint(x: 0.0, y: frame.height)) + endPath.close() + + + let animation = CAKeyframeAnimation(keyPath: "path") + animation.values = [ + path.cgPath, + endPath.cgPath + ] + + animation.timingFunctions = [ + .init(name: .easeIn), + .init(name: .linear) + ] + animation.duration = FlipType.top.duration + FlipType.bottom.duration + + + bottomShadowLayer.add(animation, forKey: "shadowAnimation") + } +} + +// MARK: - FlipType + +extension FlipAnimationViewModel { + enum FlipType { + case top + case bottom + + var id: String { + switch self { + case .top: + return "topAnimation" + case .bottom: + return "bottomAnimation" + } + } + + var anchorPoint: CGPoint { + switch self { + case .top: + return .init(x: 0.5, y: 1) + case .bottom: + return .init(x: 0.5, y: 0) + } + } + + var startDegree: Double { + switch self { + case .top: + return 0 + case .bottom: + return .pi * 0.5 + } + } + + var destinationDegree: Double { + switch self { + case .top: + return .pi * 0.5 + case .bottom: + return 0 + } + } + + /// label 회전을 이용하므로 3D 변환행렬 이용 + var perspectiveTransform: CATransform3D { + var transform = CATransform3DIdentity + transform.m34 = self == .top ? 0.0025 : -0.0029 + return CATransform3DRotate(transform, .pi * 0.5, 1, 0, 0) + } + + /// Flip되는 시간(s) + var duration: CFTimeInterval { + switch self { + case .top: + return 0.4 + case .bottom: + return 0.2 + } + } + + var animationTimingFunction: CAMediaTimingFunction { + switch self { + case .top: + return .init(name: .easeIn) + case .bottom: + return .init(name: .linear) + } + } + } +} diff --git a/FlipClock/Views/FlipItem/FlipItem.swift b/FlipClock/Views/FlipItem/FlipItem.swift new file mode 100644 index 0000000..1ae6541 --- /dev/null +++ b/FlipClock/Views/FlipItem/FlipItem.swift @@ -0,0 +1,151 @@ +// +// FlipItem.swift +// FlipClock +// +// Created by 홍승현 on 2022/06/25. +// + +import Combine +import UIKit + +import SnapKit +import Then + + +class FlipItem: UIView { + + + // MARK: - Properties + + private let label = UILabel().then { + $0.textAlignment = .center + $0.font = .systemFont(ofSize: 90, weight: .bold) + $0.text = "00" + } + + let viewModel = FlipitemViewModel() + let animationViewModel = FlipAnimationViewModel() + + + private var previousTextTopView = UIView() + private var previousTextBottomView = UIView() + private var nextTextBottomView = UIView() + + private var subscriptions = Set() + + + // MARK: - Initialization + + override init(frame: CGRect) { + super.init(frame: frame) + configure() + binding() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + + +// MARK: - Layout Cycle + +extension FlipItem { + + override func layoutSubviews() { + super.layoutSubviews() + configureLabelStyles() + } +} + + +// MARK: - Configuration + +extension FlipItem { + + private func configure() { + + // 모서리 둥글게 설정 + layer.cornerRadius = 15 + + // layout 세팅 + addSubview(label) + + label.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + backgroundColor = UserDefaults.standard.isThemeConfigured ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) : .black + } + + /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. + private func configureLabelStyles() { + label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) + label.font = .systemFont(ofSize: bounds.width * 0.6, weight: .bold) + } + + private func binding() { + UserDefaults.standard + .publisher(for: \.clockBackgroundColorTheme) + .sink { [weak self] in + self?.backgroundColor = .init(rgb: $0) + } + .store(in: &subscriptions) + + UserDefaults.standard + .publisher(for: \.textColorTheme) + .sink { [weak self] in + self?.label.textColor = .init(rgb: $0) + } + .store(in: &subscriptions) + + viewModel.$text + .dropFirst() + .filter { [unowned self] in self.label.text != $0 } + .compactMap { $0 } + .map { [unowned self] in viewModel.createSnapshots(self, label: self.label, newText: $0) } + .sink { [unowned self] in + self.previousTextTopView = $0.prevTop + self.previousTextBottomView = $0.prevBottom + self.nextTextBottomView = $0.nextBottom + + [$0.prevTop, $0.prevBottom, $0.nextBottom].forEach { + self.label.addSubview($0) + } + self.startAnimations() + } + .store(in: &subscriptions) + } +} + +// MARK: - Animations + +extension FlipItem { + private func startAnimations() { + // 윗 부분과 아랫부분 글자의 그림자 애니메이션을 추가합니다. + animationViewModel.shadowAnimation(previousTextTopView, alpha: 0.3) + animationViewModel.shadowAnimation(previousTextBottomView, alpha: 0.2) + + animationViewModel.flipAnimation(previousTextTopView, type: .top) { [unowned self] in + self.nextTextBottomView.isHidden = false + self.animationViewModel.flipAnimation(self.nextTextBottomView, type: .bottom) { + self.stopAnimations() + } + } + + animationViewModel.bottomShadowAnimation(previousTextBottomView) + } + + private func stopAnimations() { + nextTextBottomView.layer.removeAllAnimations() + nextTextBottomView.removeFromSuperview() + + previousTextTopView.layer.removeAllAnimations() + previousTextTopView.removeFromSuperview() + + previousTextBottomView.layer.removeAllAnimations() + previousTextBottomView.removeFromSuperview() + + label.layer.sublayers = nil + } +} diff --git a/FlipClock/Views/FlipItem/FlipItemViewModel.swift b/FlipClock/Views/FlipItem/FlipItemViewModel.swift new file mode 100644 index 0000000..ad95bbc --- /dev/null +++ b/FlipClock/Views/FlipItem/FlipItemViewModel.swift @@ -0,0 +1,72 @@ +// +// FlipItemViewModel.swift +// FlipClock +// +// Created by 홍승현 on 2022/08/18. +// + +import Combine +import UIKit + + +class FlipitemViewModel { + + /// Flippable label Text + @Published var text: String? + + /// Flip할 이미지를 만듭니다. + /// + /// 파라미터로 들어온 **newText**로 인해서 두 번쨰 파라미터인 label의 값이 새로이 갱신됩니다. + /// + /// - Parameter view: label을 감싸고 있는 view + /// - Parameter label: 숫자가 들어간 label + /// - Parameter newText: 변경될 텍스트 + /// - Returns: 변경 전 플립시계 이미지 윗부분과 아랫부분, 변경된 플립시계 이미지 아랫부분 + func createSnapshots(_ view: UIView, label: UILabel, newText: String) -> (prevTop: UIView, prevBottom: UIView, nextBottom: UIView) { + let (previousTextTopView, previousTextBottomView) = createLabelImages(view) + + label.text = newText + + let nextTextBottomView = createLabelImages(view).bottom + + nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 + + return (previousTextTopView, previousTextBottomView, nextTextBottomView) + } + + + /// `view`를 위 아래 절반으로 자른 이미지로 반환합니다. + /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 + private func createLabelImages(_ view: UIView) -> (top: UIView, bottom: UIView) { + + // 현재 label의 이미지 값을 도출 + UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0) + view.layer.render(in: UIGraphicsGetCurrentContext()!) + let image = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + // label 높이의 절반 크기로 설정 + let snapshotSize = CGSize(width: image.size.width, height: image.size.height * 0.5) + + // 윗부분을 이미지로 가져옴 + UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) + image.draw(at: .zero) + let topSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + // 아랫부분을 이미지로 가져옴 + UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) + image.draw(at: CGPoint(x: 0, y: -image.size.height * 0.5)) + let bottomSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + + let topView = UIImageView(image: topSnapshotImage) + let bottomView = UIImageView(image: bottomSnapshotImage) + + // bottomimageView를 밑에 둚 + bottomView.frame.origin.y = snapshotSize.height + + return (topView, bottomView) + } +} + diff --git a/FlipClock/Views/FlipView.swift b/FlipClock/Views/FlipView/FlipView.swift similarity index 97% rename from FlipClock/Views/FlipView.swift rename to FlipClock/Views/FlipView/FlipView.swift index c696c3d..d01c33b 100644 --- a/FlipClock/Views/FlipView.swift +++ b/FlipClock/Views/FlipView/FlipView.swift @@ -22,7 +22,7 @@ class FlipView: UIView { var time: String? { didSet { - item.text = time + item.viewModel.text = time } } diff --git a/FlipClock/Views/SettingTableViewCell.swift b/FlipClock/Views/SettingsVC/SettingTableViewCell.swift similarity index 100% rename from FlipClock/Views/SettingTableViewCell.swift rename to FlipClock/Views/SettingsVC/SettingTableViewCell.swift diff --git a/FlipClock/ViewControllers/SettingsViewController.swift b/FlipClock/Views/SettingsVC/SettingsViewController.swift similarity index 100% rename from FlipClock/ViewControllers/SettingsViewController.swift rename to FlipClock/Views/SettingsVC/SettingsViewController.swift diff --git a/FlipClock/ViewModels/SettingsViewModel.swift b/FlipClock/Views/SettingsVC/SettingsViewModel.swift similarity index 100% rename from FlipClock/ViewModels/SettingsViewModel.swift rename to FlipClock/Views/SettingsVC/SettingsViewModel.swift diff --git a/FlipClock/Views/ThemeTableViewCell.swift b/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift similarity index 100% rename from FlipClock/Views/ThemeTableViewCell.swift rename to FlipClock/Views/ThemeVC/ThemeTableViewCell.swift diff --git a/FlipClock/ViewControllers/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift similarity index 100% rename from FlipClock/ViewControllers/ThemeViewController.swift rename to FlipClock/Views/ThemeVC/ThemeViewController.swift diff --git a/FlipClock/ViewModels/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift similarity index 100% rename from FlipClock/ViewModels/ThemeViewModel.swift rename to FlipClock/Views/ThemeVC/ThemeViewModel.swift diff --git a/FlipClock/ViewControllers/ViewController.swift b/FlipClock/Views/ViewController.swift similarity index 100% rename from FlipClock/ViewControllers/ViewController.swift rename to FlipClock/Views/ViewController.swift From 99d024a535fc24f967be3ed4470965d025aec228 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 14 Sep 2022 22:03:38 +0900 Subject: [PATCH 60/79] =?UTF-8?q?Refactor:=20SwiftLint=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlipClock.xcodeproj/project.pbxproj | 25 +++++++ .../xcshareddata/swiftpm/Package.resolved | 23 +++++++ FlipClock/AppDelegate.swift | 25 +++---- FlipClock/Coordinators/Coordinator.swift | 7 +- FlipClock/Coordinators/MainCoordinator.swift | 42 +++++------- .../Coordinators/SettingCoordinator.swift | 17 +++-- FlipClock/Coordinators/ThemeCoordinator.swift | 15 ++-- FlipClock/Extensions/UIColor.swift | 4 +- FlipClock/Extensions/UserDefaults.swift | 8 +-- FlipClock/SceneDelegate.swift | 24 +++---- .../Views/FlipClockView/FlipClockView.swift | 60 ++++++++-------- .../FlipItem/FlipAnimationViewModel.swift | 67 ++++++++---------- FlipClock/Views/FlipItem/FlipItem.swift | 68 +++++++++---------- .../Views/FlipItem/FlipItemViewModel.swift | 42 ++++++------ FlipClock/Views/FlipItem/SnapShotModel.swift | 14 ++++ FlipClock/Views/FlipView/FlipView.swift | 26 ++++--- .../SettingsVC/SettingTableViewCell.swift | 8 +-- .../SettingsVC/SettingsViewController.swift | 46 +++++++------ .../Views/SettingsVC/SettingsViewModel.swift | 8 +-- .../Views/ThemeVC/ThemeTableViewCell.swift | 14 ++-- .../Views/ThemeVC/ThemeViewController.swift | 24 ++++--- FlipClock/Views/ThemeVC/ThemeViewModel.swift | 6 +- FlipClock/Views/ViewController.swift | 26 ++++--- 23 files changed, 319 insertions(+), 280 deletions(-) create mode 100644 FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 FlipClock/Views/FlipItem/SnapShotModel.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 69390a5..197d410 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + BA3CFB6128D2074400F097E1 /* SnapShotModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3CFB6028D2074400F097E1 /* SnapShotModel.swift */; }; BA6D0F6528AE217900F1EF31 /* FlipItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */; }; BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */; }; BA77EF882898F03F005CF4F6 /* SettingTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */; }; @@ -34,6 +35,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + BA3CFB6028D2074400F097E1 /* SnapShotModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnapShotModel.swift; sourceTree = ""; }; BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItemViewModel.swift; sourceTree = ""; }; BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipAnimationViewModel.swift; sourceTree = ""; }; BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingTableViewCell.swift; sourceTree = ""; }; @@ -141,6 +143,7 @@ isa = PBXGroup; children = ( BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */, + BA3CFB6028D2074400F097E1 /* SnapShotModel.swift */, BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */, BA95DE1E28671EFA00041A30 /* FlipItem.swift */, ); @@ -193,6 +196,7 @@ BA95DE0328671BDD00041A30 /* Sources */, BA95DE0428671BDD00041A30 /* Frameworks */, BA95DE0528671BDD00041A30 /* Resources */, + BABBAA1028B762860063E7BB /* ShellScript */, ); buildRules = ( ); @@ -256,6 +260,26 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + BABBAA1028B762860063E7BB /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export PATH=\"$PATH:/opt/homebrew/bin\"\nif which swiftlint >/dev/null; then\n if [ \"$CONFIGURATION\" ]; then\n HOOKS_PATH=$(git config --get core.hooksPath)\n if [ \".githooks\" != \"$HOOKS_PATH\" ]; then\n git config core.hooksPath .githooks\n fi\n fi\n swiftlint --fix && swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi \n\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ BA95DE0328671BDD00041A30 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -278,6 +302,7 @@ BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, + BA3CFB6128D2074400F097E1 /* SnapShotModel.swift in Sources */, BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */, BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */, diff --git a/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..d2a48e9 --- /dev/null +++ b/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,23 @@ +{ + "pins" : [ + { + "identity" : "snapkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SnapKit/SnapKit.git", + "state" : { + "branch" : "develop", + "revision" : "07c5d1f6044701d97e94dc11157259e8811977be" + } + }, + { + "identity" : "then", + "kind" : "remoteSourceControl", + "location" : "https://github.com/devxoul/Then.git", + "state" : { + "branch" : "master", + "revision" : "d41ef523faef0f911369f79c0b96815d9dbb6d7a" + } + } + ], + "version" : 2 +} diff --git a/FlipClock/AppDelegate.swift b/FlipClock/AppDelegate.swift index e58ff0e..ce41998 100644 --- a/FlipClock/AppDelegate.swift +++ b/FlipClock/AppDelegate.swift @@ -10,27 +10,20 @@ import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. + func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { return true } // MARK: UISceneSession Lifecycle - func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. + func application( + _ application: UIApplication, + configurationForConnecting connectingSceneSession: UISceneSession, + options: UIScene.ConnectionOptions + ) -> UISceneConfiguration { return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } - - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. - } - - } - diff --git a/FlipClock/Coordinators/Coordinator.swift b/FlipClock/Coordinators/Coordinator.swift index e703e49..794835d 100644 --- a/FlipClock/Coordinators/Coordinator.swift +++ b/FlipClock/Coordinators/Coordinator.swift @@ -7,12 +7,11 @@ import UIKit - protocol Coordinator: AnyObject { - + var childCoordinators: [Coordinator] { get set } var navigationController: UINavigationController { get set } - + func start() - + } diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift index a73d760..e21c0b2 100644 --- a/FlipClock/Coordinators/MainCoordinator.swift +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -7,53 +7,47 @@ import UIKit +final class MainCoordinator: NSObject, Coordinator { -class MainCoordinator: NSObject, Coordinator { - var childCoordinators: [Coordinator] = [] var navigationController: UINavigationController - + init(navigationController: UINavigationController) { self.navigationController = navigationController } - + func start() { - + navigationController.delegate = self - - let vc = ViewController() - vc.coordinator = self - navigationController.pushViewController(vc, animated: false) - + + let homeVC = ViewController() + homeVC.coordinator = self + navigationController.pushViewController(homeVC, animated: false) + // 테마 설정 안되어 있다면 설정할 수 있도록 보여줌 if !UserDefaults.standard.isThemeConfigured { let themeVC = ThemeViewController() themeVC.modalPresentationStyle = .fullScreen - vc.present(themeVC, animated: true) + homeVC.present(themeVC, animated: true) } } - - + func moveToSetting() { let child = SettingCoordinator(navigationController: navigationController) - + child.parentCoordinator = self childCoordinators.append(child) child.start() } - - + func childDidFinish(_ child: Coordinator?) { - for (index, coordinator) in childCoordinators.enumerated() { - if coordinator === child { - childCoordinators.remove(at: index) - break - } + for (index, coordinator) in childCoordinators.enumerated() where coordinator === child { + childCoordinators.remove(at: index) + break } } } - // MARK: - UINavigationControllerDelegate extension MainCoordinator: UINavigationControllerDelegate { @@ -65,11 +59,11 @@ extension MainCoordinator: UINavigationControllerDelegate { guard let fromVC = navigationController.transitionCoordinator?.viewController(forKey: .from) else { return } - + if navigationController.viewControllers.contains(fromVC) { return } - + if let settingVC = fromVC as? SettingsViewController { childDidFinish(settingVC.coordinator) } diff --git a/FlipClock/Coordinators/SettingCoordinator.swift b/FlipClock/Coordinators/SettingCoordinator.swift index ccaa234..1ad7008 100644 --- a/FlipClock/Coordinators/SettingCoordinator.swift +++ b/FlipClock/Coordinators/SettingCoordinator.swift @@ -7,23 +7,22 @@ import UIKit -class SettingCoordinator: Coordinator { - +final class SettingCoordinator: Coordinator { + var childCoordinators: [Coordinator] = [] weak var parentCoordinator: MainCoordinator? var navigationController: UINavigationController - - + init(navigationController: UINavigationController) { self.navigationController = navigationController } - + func start() { - let vc = SettingsViewController() - vc.coordinator = self - navigationController.pushViewController(vc, animated: true) + let settingVC = SettingsViewController() + settingVC.coordinator = self + navigationController.pushViewController(settingVC, animated: true) } - + func moveToThemeVC() { let child = ThemeCoordinator(navigationController: navigationController) child.start() diff --git a/FlipClock/Coordinators/ThemeCoordinator.swift b/FlipClock/Coordinators/ThemeCoordinator.swift index 9582b13..3396182 100644 --- a/FlipClock/Coordinators/ThemeCoordinator.swift +++ b/FlipClock/Coordinators/ThemeCoordinator.swift @@ -7,19 +7,18 @@ import UIKit -class ThemeCoordinator: Coordinator { - +final class ThemeCoordinator: Coordinator { + var childCoordinators: [Coordinator] = [] var navigationController: UINavigationController - + init(navigationController: UINavigationController) { self.navigationController = navigationController } - - + func start() { - let vc = ThemeViewController() - vc.coordinator = self - navigationController.viewControllers.last?.present(vc, animated: true) + let themeVC = ThemeViewController() + themeVC.coordinator = self + navigationController.viewControllers.last?.present(themeVC, animated: true) } } diff --git a/FlipClock/Extensions/UIColor.swift b/FlipClock/Extensions/UIColor.swift index 6b6a609..1bfb8f7 100644 --- a/FlipClock/Extensions/UIColor.swift +++ b/FlipClock/Extensions/UIColor.swift @@ -1,7 +1,7 @@ import UIKit extension UIColor { - + convenience init(red: Int, green: Int, blue: Int, alpha: Int = 0xFF) { self.init( red: CGFloat(red) / 255, @@ -10,7 +10,7 @@ extension UIColor { alpha: CGFloat(alpha) / 255 ) } - + convenience init(rgb: Int) { self.init( red: rgb >> 16 & 0xFF, diff --git a/FlipClock/Extensions/UserDefaults.swift b/FlipClock/Extensions/UserDefaults.swift index 2e60ed5..3b4d206 100644 --- a/FlipClock/Extensions/UserDefaults.swift +++ b/FlipClock/Extensions/UserDefaults.swift @@ -1,22 +1,22 @@ import Foundation extension UserDefaults { - + @objc var backgroundColorTheme: Int { get { integer(forKey: #function) } set { set(newValue, forKey: #function) } } - + @objc var textColorTheme: Int { get { integer(forKey: #function) } set { set(newValue, forKey: #function) } } - + @objc var clockBackgroundColorTheme: Int { get { integer(forKey: #function) } set { set(newValue, forKey: #function) } } - + var isThemeConfigured: Bool { backgroundColorTheme != 0 || textColorTheme != 0 || clockBackgroundColorTheme != 0 } diff --git a/FlipClock/SceneDelegate.swift b/FlipClock/SceneDelegate.swift index d185959..182357d 100644 --- a/FlipClock/SceneDelegate.swift +++ b/FlipClock/SceneDelegate.swift @@ -12,22 +12,20 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? var coordinator: MainCoordinator? - - func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { - // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. - // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. - // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + func scene( + _ scene: UIScene, + willConnectTo session: UISceneSession, + options connectionOptions: UIScene.ConnectionOptions + ) { guard let scene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: scene) - - let vc = UINavigationController() - coordinator = MainCoordinator(navigationController: vc) - - window?.rootViewController = vc + + let navVC = UINavigationController() + coordinator = MainCoordinator(navigationController: navVC) + + window?.rootViewController = navVC window?.makeKeyAndVisible() - + coordinator?.start() } - } - diff --git a/FlipClock/Views/FlipClockView/FlipClockView.swift b/FlipClock/Views/FlipClockView/FlipClockView.swift index ba26824..3819a74 100644 --- a/FlipClock/Views/FlipClockView/FlipClockView.swift +++ b/FlipClock/Views/FlipClockView/FlipClockView.swift @@ -10,45 +10,42 @@ import UIKit import SnapKit import Then -protocol ClockDelegate { - +protocol ClockDelegate: AnyObject { + func start() - + func stop() } +final class FlipClockView: UIView { -class FlipClockView: UIView { - - // MARK: - Properties - + private lazy var container = UIStackView().then { $0.alignment = .center $0.axis = .vertical $0.distribution = .fillEqually $0.spacing = 10 } - + private lazy var hourItem = FlipView() - + private lazy var minuteItem = FlipView() - + private lazy var secondItem = FlipView() - + private var timer: Timer? - + let formatter = DateFormatter().then { $0.dateFormat = "hh:mm:ss" } - - + // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) configure() } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @@ -57,40 +54,38 @@ class FlipClockView: UIView { // MARK: - Configuration extension FlipClockView { - + override func layoutSubviews() { super.layoutSubviews() container.axis = UIDevice.current.orientation.isLandscape ? .horizontal : .vertical } - + func configure() { - + addSubview(container) - + [hourItem, minuteItem, secondItem].forEach { container.addArrangedSubview($0) } - + container.snp.makeConstraints { make in make.edges.equalToSuperview() } - - + [hourItem, minuteItem, secondItem].forEach { view in view.snp.makeConstraints { make in make.width.equalTo(view.snp.height) } } } - + @objc func updateTime() { let time = formatter.string(from: .now).split(separator: ":") - - + hourItem.time = String(time[0]) minuteItem.time = String(time[1]) secondItem.time = String(time[2]) - + } } @@ -98,12 +93,17 @@ extension FlipClockView { extension FlipClockView: ClockDelegate { func start() { - timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTime), userInfo: nil, repeats: true) + timer = Timer.scheduledTimer( + timeInterval: 1, + target: self, + selector: #selector(updateTime), + userInfo: nil, + repeats: true + ) } - + func stop() { timer?.invalidate() } - - + } diff --git a/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift index 65aa5ab..9507f4a 100644 --- a/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift +++ b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift @@ -8,108 +8,101 @@ import Combine import UIKit - struct FlipAnimationViewModel { - + func shadowAnimation(_ view: UIView, alpha: CGFloat) { let shadow = UIView(frame: view.bounds).then { $0.backgroundColor = .black $0.alpha = 0 $0.layer.cornerRadius = 15 } - + view.addSubview(shadow) - + UIView.animate(withDuration: FlipType.top.duration) { shadow.alpha = alpha } } - + /// Flip 애니메이션을 진행합니다. /// - Parameters: /// - view: 애니메이션을 적용할 view /// - type: flip되는 부분 /// - completion: `animation`이 끝난 뒤에 실행되는 클로저 func flipAnimation(_ view: UIView, type: FlipType, completion: (() -> Void)? = nil) { - + CATransaction.begin() CATransaction.setCompletionBlock(completion) // 기준점 설정 view.layer.anchorPoint = type.anchorPoint - + // 기준점 변경으로 인한 center값 조정 (layer에서의 position) view.center = CGPoint( x: view.bounds.width * 0.5, y: view.bounds.height ) - + let animation = CABasicAnimation(keyPath: "transform.rotation.x") animation.duration = type.duration // 애니메이션 시간 - + animation.fromValue = type.startDegree animation.toValue = type.destinationDegree - + animation.fillMode = .forwards // 애니메이션 끝난 뒤 변경상태 유지 animation.isRemovedOnCompletion = false // 애니메이션 끝난 뒤 깜빡이는 현상 수정 animation.timingFunction = type.animationTimingFunction - + animation.setValue("End", forKey: type.id) // key값 설정 - + view.layer.transform = type.perspectiveTransform - - + view.layer.add(animation, forKey: "rotation") // 애니메이션 시작 - + CATransaction.commit() } - + /// 위 Flip 이미지로 인한 그림자를 생성해주기 위한 애니메이션입니다. func bottomShadowAnimation(_ view: UIView) { - + let bottomShadowLayer = CAShapeLayer() - + let frame = CGRect( x: 0, y: 0, width: view.frame.width, height: view.frame.height ) - + view.layer.addSublayer(bottomShadowLayer) - - + let path = UIBezierPath() path.move(to: .zero) path.addLine(to: CGPoint(x: frame.width, y: 0.0)) path.addLine(to: CGPoint(x: frame.width, y: 0.0)) path.close() - - + bottomShadowLayer.opacity = 0.3 bottomShadowLayer.frame = frame - - + let endPath = UIBezierPath() endPath.move(to: .zero) endPath.addLine(to: CGPoint(x: frame.width, y: 0.0)) endPath.addLine(to: CGPoint(x: frame.width, y: frame.height)) endPath.addLine(to: CGPoint(x: 0.0, y: frame.height)) endPath.close() - - + let animation = CAKeyframeAnimation(keyPath: "path") animation.values = [ path.cgPath, endPath.cgPath ] - + animation.timingFunctions = [ .init(name: .easeIn), .init(name: .linear) ] animation.duration = FlipType.top.duration + FlipType.bottom.duration - - + bottomShadowLayer.add(animation, forKey: "shadowAnimation") } } @@ -120,7 +113,7 @@ extension FlipAnimationViewModel { enum FlipType { case top case bottom - + var id: String { switch self { case .top: @@ -129,7 +122,7 @@ extension FlipAnimationViewModel { return "bottomAnimation" } } - + var anchorPoint: CGPoint { switch self { case .top: @@ -138,7 +131,7 @@ extension FlipAnimationViewModel { return .init(x: 0.5, y: 0) } } - + var startDegree: Double { switch self { case .top: @@ -147,7 +140,7 @@ extension FlipAnimationViewModel { return .pi * 0.5 } } - + var destinationDegree: Double { switch self { case .top: @@ -156,14 +149,14 @@ extension FlipAnimationViewModel { return 0 } } - + /// label 회전을 이용하므로 3D 변환행렬 이용 var perspectiveTransform: CATransform3D { var transform = CATransform3DIdentity transform.m34 = self == .top ? 0.0025 : -0.0029 return CATransform3DRotate(transform, .pi * 0.5, 1, 0, 0) } - + /// Flip되는 시간(s) var duration: CFTimeInterval { switch self { @@ -173,7 +166,7 @@ extension FlipAnimationViewModel { return 0.2 } } - + var animationTimingFunction: CAMediaTimingFunction { switch self { case .top: diff --git a/FlipClock/Views/FlipItem/FlipItem.swift b/FlipClock/Views/FlipItem/FlipItem.swift index 1ae6541..97d6dde 100644 --- a/FlipClock/Views/FlipItem/FlipItem.swift +++ b/FlipClock/Views/FlipItem/FlipItem.swift @@ -11,79 +11,75 @@ import UIKit import SnapKit import Then +final class FlipItem: UIView { -class FlipItem: UIView { - - // MARK: - Properties - + private let label = UILabel().then { $0.textAlignment = .center $0.font = .systemFont(ofSize: 90, weight: .bold) $0.text = "00" } - + let viewModel = FlipitemViewModel() let animationViewModel = FlipAnimationViewModel() - - + private var previousTextTopView = UIView() private var previousTextBottomView = UIView() private var nextTextBottomView = UIView() - + private var subscriptions = Set() - - + // MARK: - Initialization - + override init(frame: CGRect) { super.init(frame: frame) configure() binding() } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } } - // MARK: - Layout Cycle extension FlipItem { - + override func layoutSubviews() { super.layoutSubviews() configureLabelStyles() } } - // MARK: - Configuration extension FlipItem { - + private func configure() { - + // 모서리 둥글게 설정 layer.cornerRadius = 15 - + // layout 세팅 addSubview(label) - + label.snp.makeConstraints { make in make.edges.equalToSuperview() } - - backgroundColor = UserDefaults.standard.isThemeConfigured ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) : .black + + backgroundColor = UserDefaults.standard.isThemeConfigured + ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) + : .black } - + /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. private func configureLabelStyles() { label.clipsToBounds = false // stackview 회전할 때 true값이 됨 (이유 모름) label.font = .systemFont(ofSize: bounds.width * 0.6, weight: .bold) } - + private func binding() { UserDefaults.standard .publisher(for: \.clockBackgroundColorTheme) @@ -91,25 +87,25 @@ extension FlipItem { self?.backgroundColor = .init(rgb: $0) } .store(in: &subscriptions) - + UserDefaults.standard .publisher(for: \.textColorTheme) .sink { [weak self] in self?.label.textColor = .init(rgb: $0) } .store(in: &subscriptions) - + viewModel.$text .dropFirst() .filter { [unowned self] in self.label.text != $0 } .compactMap { $0 } .map { [unowned self] in viewModel.createSnapshots(self, label: self.label, newText: $0) } .sink { [unowned self] in - self.previousTextTopView = $0.prevTop - self.previousTextBottomView = $0.prevBottom - self.nextTextBottomView = $0.nextBottom - - [$0.prevTop, $0.prevBottom, $0.nextBottom].forEach { + self.previousTextTopView = $0.previousTopView + self.previousTextBottomView = $0.previousBottomView + self.nextTextBottomView = $0.nextBottomView + + [$0.previousTopView, $0.previousBottomView, $0.nextBottomView].forEach { self.label.addSubview($0) } self.startAnimations() @@ -125,27 +121,27 @@ extension FlipItem { // 윗 부분과 아랫부분 글자의 그림자 애니메이션을 추가합니다. animationViewModel.shadowAnimation(previousTextTopView, alpha: 0.3) animationViewModel.shadowAnimation(previousTextBottomView, alpha: 0.2) - + animationViewModel.flipAnimation(previousTextTopView, type: .top) { [unowned self] in self.nextTextBottomView.isHidden = false self.animationViewModel.flipAnimation(self.nextTextBottomView, type: .bottom) { self.stopAnimations() } } - + animationViewModel.bottomShadowAnimation(previousTextBottomView) } - + private func stopAnimations() { nextTextBottomView.layer.removeAllAnimations() nextTextBottomView.removeFromSuperview() - + previousTextTopView.layer.removeAllAnimations() previousTextTopView.removeFromSuperview() - + previousTextBottomView.layer.removeAllAnimations() previousTextBottomView.removeFromSuperview() - + label.layer.sublayers = nil } } diff --git a/FlipClock/Views/FlipItem/FlipItemViewModel.swift b/FlipClock/Views/FlipItem/FlipItemViewModel.swift index ad95bbc..78e3243 100644 --- a/FlipClock/Views/FlipItem/FlipItemViewModel.swift +++ b/FlipClock/Views/FlipItem/FlipItemViewModel.swift @@ -8,12 +8,11 @@ import Combine import UIKit +final class FlipitemViewModel { -class FlipitemViewModel { - /// Flippable label Text @Published var text: String? - + /// Flip할 이미지를 만듭니다. /// /// 파라미터로 들어온 **newText**로 인해서 두 번쨰 파라미터인 label의 값이 새로이 갱신됩니다. @@ -22,51 +21,56 @@ class FlipitemViewModel { /// - Parameter label: 숫자가 들어간 label /// - Parameter newText: 변경될 텍스트 /// - Returns: 변경 전 플립시계 이미지 윗부분과 아랫부분, 변경된 플립시계 이미지 아랫부분 - func createSnapshots(_ view: UIView, label: UILabel, newText: String) -> (prevTop: UIView, prevBottom: UIView, nextBottom: UIView) { + func createSnapshots( + _ view: UIView, + label: UILabel, + newText: String + ) -> SnapShotModel { let (previousTextTopView, previousTextBottomView) = createLabelImages(view) - + label.text = newText - + let nextTextBottomView = createLabelImages(view).bottom - nextTextBottomView.isHidden = true // topView의 애니메이션 완료 후 보여질 예정 - - return (previousTextTopView, previousTextBottomView, nextTextBottomView) + + return SnapShotModel( + previousTopView: previousTextTopView, + previousBottomView: previousTextBottomView, + nextBottomView: nextTextBottomView + ) } - - + /// `view`를 위 아래 절반으로 자른 이미지로 반환합니다. /// - Returns: 윗 부분과 아랫부분의 레이블 이미지 private func createLabelImages(_ view: UIView) -> (top: UIView, bottom: UIView) { - + // 현재 label의 이미지 값을 도출 UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0) view.layer.render(in: UIGraphicsGetCurrentContext()!) let image = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() - + // label 높이의 절반 크기로 설정 let snapshotSize = CGSize(width: image.size.width, height: image.size.height * 0.5) - + // 윗부분을 이미지로 가져옴 UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) image.draw(at: .zero) let topSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() - + // 아랫부분을 이미지로 가져옴 UIGraphicsBeginImageContextWithOptions(snapshotSize, false, 0) image.draw(at: CGPoint(x: 0, y: -image.size.height * 0.5)) let bottomSnapshotImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() - + let topView = UIImageView(image: topSnapshotImage) let bottomView = UIImageView(image: bottomSnapshotImage) - + // bottomimageView를 밑에 둚 bottomView.frame.origin.y = snapshotSize.height - + return (topView, bottomView) } } - diff --git a/FlipClock/Views/FlipItem/SnapShotModel.swift b/FlipClock/Views/FlipItem/SnapShotModel.swift new file mode 100644 index 0000000..b9723a4 --- /dev/null +++ b/FlipClock/Views/FlipItem/SnapShotModel.swift @@ -0,0 +1,14 @@ +// +// SnapShotModel.swift +// FlipClock +// +// Created by 홍승현 on 2022/09/14. +// + +import UIKit + +struct SnapShotModel { + let previousTopView: UIView + let previousBottomView: UIView + let nextBottomView: UIView +} diff --git a/FlipClock/Views/FlipView/FlipView.swift b/FlipClock/Views/FlipView/FlipView.swift index d01c33b..b7e587a 100644 --- a/FlipClock/Views/FlipView/FlipView.swift +++ b/FlipClock/Views/FlipView/FlipView.swift @@ -11,32 +11,30 @@ import UIKit import SnapKit import Then +final class FlipView: UIView { -class FlipView: UIView { - // MARK: - Properties - + private lazy var item = FlipItem() - + private lazy var line = UIView() - + var time: String? { didSet { item.viewModel.text = time } } - + private var subscriptions = Set() - - + // MARK: - Initialization - + override init(frame: CGRect) { super.init(frame: frame) configure() binding() } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @@ -45,22 +43,22 @@ class FlipView: UIView { // MARK: - Configuration extension FlipView { - + private func configure() { addSubview(item) addSubview(line) - + item.snp.makeConstraints { make in make.edges.equalToSuperview() } - + line.snp.makeConstraints { make in make.height.equalTo(3) make.centerY.equalToSuperview() make.leading.trailing.equalToSuperview() } } - + private func binding() { UserDefaults.standard .publisher(for: \.backgroundColorTheme) diff --git a/FlipClock/Views/SettingsVC/SettingTableViewCell.swift b/FlipClock/Views/SettingsVC/SettingTableViewCell.swift index baf1722..cf7c5f6 100644 --- a/FlipClock/Views/SettingsVC/SettingTableViewCell.swift +++ b/FlipClock/Views/SettingsVC/SettingTableViewCell.swift @@ -7,15 +7,15 @@ import UIKit -class SettingTableViewCell: UITableViewCell { - +final class SettingTableViewCell: UITableViewCell { + static let id = "SettingTableViewCell" - + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) accessoryType = .disclosureIndicator } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } diff --git a/FlipClock/Views/SettingsVC/SettingsViewController.swift b/FlipClock/Views/SettingsVC/SettingsViewController.swift index 03cbaff..04bc0a5 100644 --- a/FlipClock/Views/SettingsVC/SettingsViewController.swift +++ b/FlipClock/Views/SettingsVC/SettingsViewController.swift @@ -11,17 +11,17 @@ import UIKit import SnapKit import Then -class SettingsViewController: UIViewController { - +final class SettingsViewController: UIViewController { + weak var coordinator: SettingCoordinator? var viewModel = SettingsViewModel() - + private lazy var tableView = UITableView(frame: .zero, style: .insetGrouped).then { $0.dataSource = self $0.delegate = self $0.register(SettingTableViewCell.self, forCellReuseIdentifier: SettingTableViewCell.id) } - + override func viewDidLoad() { super.viewDidLoad() configureLayout() @@ -33,17 +33,17 @@ class SettingsViewController: UIViewController { // MARK: - Configuration extension SettingsViewController { - + private func configureLayout() { view.addSubview(tableView) } - + private func configureConstraints() { tableView.snp.makeConstraints { make in make.edges.equalToSuperview() } } - + private func configureUI() { view.backgroundColor = .systemBackground } @@ -55,13 +55,16 @@ extension SettingsViewController: UITableViewDataSource { func numberOfSections(in tableView: UITableView) -> Int { return viewModel.numberOfSections } - + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return viewModel.numberOfRowsInSection } - + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - guard let cell = tableView.dequeueReusableCell(withIdentifier: SettingTableViewCell.id, for: indexPath) as? SettingTableViewCell else { + guard let cell = tableView.dequeueReusableCell( + withIdentifier: SettingTableViewCell.id, + for: indexPath + ) as? SettingTableViewCell else { fatalError("Cell을 다운캐스팅할 수 없습니다.") } var content = cell.defaultContentConfiguration() @@ -69,11 +72,10 @@ extension SettingsViewController: UITableViewDataSource { content.text = viewModel.cellTitles[indexPath.section] content.imageProperties.tintColor = .black cell.contentConfiguration = content - - + return cell } - + func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return viewModel.sections[section] } @@ -82,13 +84,12 @@ extension SettingsViewController: UITableViewDataSource { // MARK: - UITableViewDelegate extension SettingsViewController: UITableViewDelegate { - + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - + switch indexPath.section { case 0: // theme coordinator?.moveToThemeVC() - break case 1: // mail sendMail() default: @@ -97,17 +98,16 @@ extension SettingsViewController: UITableViewDelegate { } } - // MARK: - MFMailComposeViewController extension SettingsViewController: MFMailComposeViewControllerDelegate { - + private func showMailErrorAlert() { let controller = UIAlertController(title: "실패", message: "아이폰 메일 설정을 확인해주세요.", preferredStyle: .alert) controller.addAction(UIAlertAction(title: "확인", style: .default)) present(controller, animated: true) } - + private func sendMail() { guard MFMailComposeViewController.canSendMail() else { showMailErrorAlert() @@ -119,8 +119,12 @@ extension SettingsViewController: MFMailComposeViewControllerDelegate { composeVC.setSubject(" 문의 및 의견") present(composeVC, animated: true) } - - func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { + + func mailComposeController( + _ controller: MFMailComposeViewController, + didFinishWith result: MFMailComposeResult, + error: Error? + ) { controller.dismiss(animated: true) } } diff --git a/FlipClock/Views/SettingsVC/SettingsViewModel.swift b/FlipClock/Views/SettingsVC/SettingsViewModel.swift index 9fc05a4..e71b0ec 100644 --- a/FlipClock/Views/SettingsVC/SettingsViewModel.swift +++ b/FlipClock/Views/SettingsVC/SettingsViewModel.swift @@ -8,15 +8,15 @@ import Foundation struct SettingsViewModel { - + let sections = ["배경 테마", "피드백"] - + let cellTitles = ["테마 변경", "의견 보내기"] let cellImageNames = ["paintbrush", "ellipsis.bubble"] - + var numberOfSections: Int { sections.count } - + let numberOfRowsInSection = 1 } diff --git a/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift b/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift index 7cc3327..b7cca82 100644 --- a/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift +++ b/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift @@ -11,9 +11,9 @@ import SnapKit import Then final class ThemeTableViewCell: UITableViewCell { - + static let id = "ThemeTableViewCell" - + private lazy var themeImageView = UIImageView().then { $0.contentMode = .scaleAspectFit $0.layer.shadowOffset = CGSize(width: 5, height: 5) @@ -21,24 +21,24 @@ final class ThemeTableViewCell: UITableViewCell { $0.layer.shadowRadius = 5 $0.layer.shadowColor = UIColor.gray.cgColor } - + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) configure() } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - + private func configure() { contentView.addSubview(themeImageView) - + themeImageView.snp.makeConstraints { make in make.edges.equalToSuperview().inset(20) } } - + func configure(with image: UIImage) { themeImageView.image = image } diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 1220f79..9c225d1 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -7,21 +7,21 @@ import UIKit -class ThemeViewController: UITableViewController { - +final class ThemeViewController: UITableViewController { + weak var coordinator: ThemeCoordinator? let viewModel = ThemeViewModel() - + override func viewDidLoad() { super.viewDidLoad() configureUI() configureTableView() } - + private func configureUI() { view.backgroundColor = .systemBackground } - + private func configureTableView() { tableView.separatorStyle = .none tableView.dataSource = self @@ -30,23 +30,25 @@ class ThemeViewController: UITableViewController { } } - // MARK: - UITableViewDataSource extension ThemeViewController { override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return viewModel.numberOfRowsInSection } - + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - guard let cell = tableView.dequeueReusableCell(withIdentifier: ThemeTableViewCell.id, for: indexPath) as? ThemeTableViewCell, + guard let cell = tableView.dequeueReusableCell( + withIdentifier: ThemeTableViewCell.id, + for: indexPath + ) as? ThemeTableViewCell, let image = viewModel.clockThemes[indexPath.row] else { fatalError("Error!") } - + cell.configure(with: image) - + return cell } } @@ -57,7 +59,7 @@ extension ThemeViewController { override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 230 } - + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { viewModel.userDefaults(storeWith: indexPath.row) dismiss(animated: true) diff --git a/FlipClock/Views/ThemeVC/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift index 7573bc2..5e55c4a 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewModel.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewModel.swift @@ -8,16 +8,16 @@ import UIKit struct ThemeViewModel { - + let clockThemes: [UIImage?] = [.init(named: "theme1"), .init(named: "theme2")] private let backgroundColorTheme = [0xAAAAAA, 0xF0F2F7] private let textColorTheme = [0xFFFFFF, 0x000000] private let clockBackgroundColorTheme = [0x000000, 0xFFFFFF] - + var numberOfRowsInSection: Int { clockThemes.count } - + func userDefaults(storeWith index: Int) { UserDefaults.standard.do { $0.backgroundColorTheme = backgroundColorTheme[index] diff --git a/FlipClock/Views/ViewController.swift b/FlipClock/Views/ViewController.swift index b8d86a5..d47b585 100644 --- a/FlipClock/Views/ViewController.swift +++ b/FlipClock/Views/ViewController.swift @@ -11,27 +11,26 @@ import UIKit import SnapKit import Then -class ViewController: UIViewController { - +final class ViewController: UIViewController { + weak var coordinator: MainCoordinator? - + private lazy var clockView = FlipClockView() private var subscriptions = Set() - + // MARK: - Life Cycle - + override func viewDidLoad() { super.viewDidLoad() configure() binding() } - + override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) clockView.start() } - - + override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) clockView.stop() @@ -41,16 +40,16 @@ class ViewController: UIViewController { // MARK: - Configuration extension ViewController { - + private func configure() { view.addSubview(clockView) - + clockView.snp.makeConstraints { make in make.top.equalTo(view.safeAreaLayoutGuide) make.bottom.equalTo(view.safeAreaLayoutGuide).inset(40) make.leading.trailing.equalTo(view.safeAreaLayoutGuide).inset(40) } - + navigationItem.rightBarButtonItem = UIBarButtonItem( image: UIImage(systemName: "gearshape.fill"), style: .done, @@ -59,7 +58,7 @@ extension ViewController { ) navigationController?.navigationBar.tintColor = .label } - + private func binding() { UserDefaults.standard .publisher(for: \.backgroundColorTheme) @@ -68,8 +67,7 @@ extension ViewController { } .store(in: &subscriptions) } - - + @objc func settingButtonDidTapped() { coordinator?.moveToSetting() } From 310782f9d7861cc4dd78de572b52f53f8130966b Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 14 Sep 2022 22:03:58 +0900 Subject: [PATCH 61/79] =?UTF-8?q?Add:=20githooks=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .githooks/pre-commit | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 .githooks/pre-commit diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..6df8ec4 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,62 @@ +#!/bin/sh +# written by Noah +LINT=$(which swiftlint) + +if [[ -e "${LINT}" ]]; then + echo "🚀 SwiftLint 시작..." + echo "🔍 lint 적용 경로: $(pwd)" +else + echo "SwiftLint가 존재하지 않습니다, 공식문서를 확인해주세요. 🌐 https://github.com/realm/SwiftLint" + exit 1 +fi + +normalfiles=$(git diff --stat --cached) +targets=$(git diff --stat --cached --diff-filter=d --name-only $(git for-each-ref --format='%(upstream:short)' $(git symbolic-ref -q HEAD)) | grep -F ".swift") + +if [ -n "$normalfiles" -a -z "$targets" ]; then + printf "✨ 고생하셨습니다👏 👏 👏\n" + exit 0 + +elif [ -z "${normalfiles}" ]; then + printf "🏷️ Staging Area 파일이 없습니다" + printf "\n ✔ git add를 먼저 진행해주세요:)" + exit 1 + +elif [ -z "$targets" ]; then + printf "🏷️ Staging Area swift 파일이 없습니다" + printf "\n ✔ git add를 먼저 진행해주세요:)" + exit 1 +fi + +# lint rule 정의 파일 +#RESULT=$($LINT lint --quiet --config .precommit.yml) +RESULT=$($LINT lint --quiet) + +if [ "$RESULT" == '' ]; then + printf "✨ SwiftLint 적용을 완료했습니다!! 고생하셨습니다:)\n" +else + echo "" + printf "✔ SwiftLint Failed 아래 내용을 확인해주세요:\n" + while read -r line; do + FILEPATH=$(echo $line | cut -d : -f 1) + L=$(echo $line | cut -d : -f 2) + C=$(echo $line | cut -d : -f 3) + TYPE=$(echo $line | cut -d : -f 4 | cut -c 2-) + MESSAGE=$(echo $line | cut -d : -f 5 | cut -c 2-) + DESCRIPTION=$(echo $line | cut -d : -f 6 | cut -c 2-) + if [ $TYPE == 'warning' ]; then + printf "\n 🚧 $TYPE\n" + # warning 타입은 오류메시지만 표시하고 커밋을 허용하고 싶다면 line 40~42 주석 해제. + # printf " $FILEPATH:$L:$C\n" + # printf " 📌 $MESSAGE: - $DESCRIPTION\n" + # exit 0 + elif [ $TYPE == 'error' ]; then + printf "\n 🚨 $TYPE\n" + fi + printf " ✔ $FILEPATH:$L:$C\n" + printf " 📌 $MESSAGE: - $DESCRIPTION\n" + done <<< "$RESULT" + + printf "\n 🚑 커밋실패!! Swiftlint rule에 맞게 코드를 변경해주세요:)\n" + exit 1 +fi From 9733ffd6af919095e57586e439bb6e24ce180ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=99=8D=EC=8A=B9=ED=98=84?= Date: Fri, 23 Sep 2022 23:35:05 +0900 Subject: [PATCH 62/79] Migrate Combine to RxSwift (#12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add: RxSwift Library * Refactor: Combine to ReactiveX * Chore: subscribe to bind code * Refactor: Combine to ReactiveX * Del: Combine import code * Refactor: TableView rx 적용 --- FlipClock.xcodeproj/project.pbxproj | 25 ++++++ .../xcshareddata/swiftpm/Package.resolved | 9 +++ .../FlipItem/FlipAnimationViewModel.swift | 2 - FlipClock/Views/FlipItem/FlipItem.swift | 41 +++++----- .../Views/FlipItem/FlipItemViewModel.swift | 5 +- FlipClock/Views/FlipView/FlipView.swift | 21 ++--- .../Views/ThemeVC/ThemeViewController.swift | 76 +++++++++---------- FlipClock/Views/ThemeVC/ThemeViewModel.swift | 9 ++- FlipClock/Views/ViewController.swift | 17 +++-- 9 files changed, 118 insertions(+), 87 deletions(-) diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 197d410..11d08b3 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ BA3CFB6128D2074400F097E1 /* SnapShotModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3CFB6028D2074400F097E1 /* SnapShotModel.swift */; }; + BA3CFB6428D20C4200F097E1 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = BA3CFB6328D20C4200F097E1 /* RxCocoa */; }; + BA3CFB6628D20C4200F097E1 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = BA3CFB6528D20C4200F097E1 /* RxSwift */; }; BA6D0F6528AE217900F1EF31 /* FlipItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6428AE217900F1EF31 /* FlipItemViewModel.swift */; }; BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6D0F6628AE30B500F1EF31 /* FlipAnimationViewModel.swift */; }; BA77EF882898F03F005CF4F6 /* SettingTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA77EF872898F03F005CF4F6 /* SettingTableViewCell.swift */; }; @@ -67,7 +69,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + BA3CFB6428D20C4200F097E1 /* RxCocoa in Frameworks */, BA7ECC1E287473F000511694 /* SnapKit in Frameworks */, + BA3CFB6628D20C4200F097E1 /* RxSwift in Frameworks */, BA7ECC2128747BBD00511694 /* Then in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -206,6 +210,8 @@ packageProductDependencies = ( BA7ECC1D287473F000511694 /* SnapKit */, BA7ECC2028747BBD00511694 /* Then */, + BA3CFB6328D20C4200F097E1 /* RxCocoa */, + BA3CFB6528D20C4200F097E1 /* RxSwift */, ); productName = FlipClock; productReference = BA95DE0728671BDD00041A30 /* FlipClock.app */; @@ -238,6 +244,7 @@ packageReferences = ( BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */, BA7ECC1F28747BBD00511694 /* XCRemoteSwiftPackageReference "Then" */, + BA3CFB6228D20C4200F097E1 /* XCRemoteSwiftPackageReference "RxSwift" */, ); productRefGroup = BA95DE0828671BDD00041A30 /* Products */; projectDirPath = ""; @@ -517,6 +524,14 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ + BA3CFB6228D20C4200F097E1 /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + branch = main; + kind = branch; + }; + }; BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/SnapKit/SnapKit.git"; @@ -536,6 +551,16 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + BA3CFB6328D20C4200F097E1 /* RxCocoa */ = { + isa = XCSwiftPackageProductDependency; + package = BA3CFB6228D20C4200F097E1 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxCocoa; + }; + BA3CFB6528D20C4200F097E1 /* RxSwift */ = { + isa = XCSwiftPackageProductDependency; + package = BA3CFB6228D20C4200F097E1 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; + }; BA7ECC1D287473F000511694 /* SnapKit */ = { isa = XCSwiftPackageProductDependency; package = BA7ECC1C287473F000511694 /* XCRemoteSwiftPackageReference "SnapKit" */; diff --git a/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index d2a48e9..ced22dd 100644 --- a/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/FlipClock.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,14 @@ { "pins" : [ + { + "identity" : "rxswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ReactiveX/RxSwift", + "state" : { + "branch" : "main", + "revision" : "e0ab8c4e18baf6679a65b325155923276b832687" + } + }, { "identity" : "snapkit", "kind" : "remoteSourceControl", diff --git a/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift index 9507f4a..c8ac20c 100644 --- a/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift +++ b/FlipClock/Views/FlipItem/FlipAnimationViewModel.swift @@ -4,8 +4,6 @@ // // Created by 홍승현 on 2022/08/18. // - -import Combine import UIKit struct FlipAnimationViewModel { diff --git a/FlipClock/Views/FlipItem/FlipItem.swift b/FlipClock/Views/FlipItem/FlipItem.swift index 97d6dde..1367369 100644 --- a/FlipClock/Views/FlipItem/FlipItem.swift +++ b/FlipClock/Views/FlipItem/FlipItem.swift @@ -5,9 +5,10 @@ // Created by 홍승현 on 2022/06/25. // -import Combine import UIKit +import RxCocoa +import RxSwift import SnapKit import Then @@ -28,7 +29,7 @@ final class FlipItem: UIView { private var previousTextBottomView = UIView() private var nextTextBottomView = UIView() - private var subscriptions = Set() + var disposeBag = DisposeBag() // MARK: - Initialization @@ -81,26 +82,26 @@ extension FlipItem { } private func binding() { - UserDefaults.standard - .publisher(for: \.clockBackgroundColorTheme) - .sink { [weak self] in - self?.backgroundColor = .init(rgb: $0) - } - .store(in: &subscriptions) - UserDefaults.standard - .publisher(for: \.textColorTheme) - .sink { [weak self] in - self?.label.textColor = .init(rgb: $0) - } - .store(in: &subscriptions) + UserDefaults.standard.rx + .observeWeakly(Int.self, "clockBackgroundColorTheme") + .compactMap { $0 } + .map { UIColor.init(rgb: $0) } + .bind(to: self.rx.backgroundColor) + .disposed(by: disposeBag) - viewModel.$text - .dropFirst() - .filter { [unowned self] in self.label.text != $0 } + UserDefaults.standard.rx + .observeWeakly(Int.self, "textColorTheme") .compactMap { $0 } + .map { UIColor.init(rgb: $0) } + .bind(to: self.label.rx.textColor) + .disposed(by: disposeBag) + + viewModel.text + .skip(1) + .distinctUntilChanged() .map { [unowned self] in viewModel.createSnapshots(self, label: self.label, newText: $0) } - .sink { [unowned self] in + .subscribe(onNext: { [unowned self] in self.previousTextTopView = $0.previousTopView self.previousTextBottomView = $0.previousBottomView self.nextTextBottomView = $0.nextBottomView @@ -109,8 +110,8 @@ extension FlipItem { self.label.addSubview($0) } self.startAnimations() - } - .store(in: &subscriptions) + }) + .disposed(by: disposeBag) } } diff --git a/FlipClock/Views/FlipItem/FlipItemViewModel.swift b/FlipClock/Views/FlipItem/FlipItemViewModel.swift index 78e3243..e173438 100644 --- a/FlipClock/Views/FlipItem/FlipItemViewModel.swift +++ b/FlipClock/Views/FlipItem/FlipItemViewModel.swift @@ -5,13 +5,14 @@ // Created by 홍승현 on 2022/08/18. // -import Combine import UIKit +import RxCocoa + final class FlipitemViewModel { /// Flippable label Text - @Published var text: String? + let text = BehaviorRelay(value: "") /// Flip할 이미지를 만듭니다. /// diff --git a/FlipClock/Views/FlipView/FlipView.swift b/FlipClock/Views/FlipView/FlipView.swift index b7e587a..0e54d65 100644 --- a/FlipClock/Views/FlipView/FlipView.swift +++ b/FlipClock/Views/FlipView/FlipView.swift @@ -5,9 +5,10 @@ // Created by 홍승현 on 2022/07/06. // -import Combine import UIKit +import RxCocoa +import RxSwift import SnapKit import Then @@ -19,13 +20,13 @@ final class FlipView: UIView { private lazy var line = UIView() - var time: String? { + var time: String = "" { didSet { - item.viewModel.text = time + item.viewModel.text.accept(time) } } - private var subscriptions = Set() + private let disposeBag = DisposeBag() // MARK: - Initialization @@ -60,11 +61,11 @@ extension FlipView { } private func binding() { - UserDefaults.standard - .publisher(for: \.backgroundColorTheme) - .sink { [weak self] in - self?.line.backgroundColor = .init(rgb: $0) - } - .store(in: &subscriptions) + UserDefaults.standard.rx + .observeWeakly(Int.self, "backgroundColorTheme") + .compactMap { $0 } + .map { UIColor.init(rgb: $0) } + .bind(to: self.line.rx.backgroundColor) + .disposed(by: disposeBag) } } diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 9c225d1..604a023 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -7,61 +7,53 @@ import UIKit -final class ThemeViewController: UITableViewController { +import RxSwift +import RxCocoa +import SnapKit +import Then + +final class ThemeViewController: UIViewController { weak var coordinator: ThemeCoordinator? - let viewModel = ThemeViewModel() + private let viewModel = ThemeViewModel() + private let disposeBag = DisposeBag() + + private lazy var tableView = UITableView().then { + $0.separatorStyle = .none + $0.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) + } override func viewDidLoad() { super.viewDidLoad() configureUI() - configureTableView() + binding() } private func configureUI() { view.backgroundColor = .systemBackground - } - - private func configureTableView() { - tableView.separatorStyle = .none - tableView.dataSource = self - tableView.delegate = self - tableView.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) - } -} - -// MARK: - UITableViewDataSource + view.addSubview(tableView) -extension ThemeViewController { - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return viewModel.numberOfRowsInSection - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - guard let cell = tableView.dequeueReusableCell( - withIdentifier: ThemeTableViewCell.id, - for: indexPath - ) as? ThemeTableViewCell, - let image = viewModel.clockThemes[indexPath.row] - else { - fatalError("Error!") + tableView.snp.makeConstraints { make in + make.edges.equalToSuperview() } - - cell.configure(with: image) - - return cell - } -} - -// MARK: - UITableViewDelegate - -extension ThemeViewController { - override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return 230 } - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - viewModel.userDefaults(storeWith: indexPath.row) - dismiss(animated: true) + private func binding() { + viewModel.data + .bind(to: tableView.rx.items( + cellIdentifier: ThemeTableViewCell.id, + cellType: ThemeTableViewCell.self + )) { _, element, cell in + guard let element = element else { return } + cell.configure(with: element) + } + .disposed(by: disposeBag) + + tableView.rx.itemSelected + .subscribe(onNext: { [weak self] in + self?.viewModel.userDefaults(storeWith: $0.row) + self?.dismiss(animated: true) + }) + .disposed(by: disposeBag) } } diff --git a/FlipClock/Views/ThemeVC/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift index 5e55c4a..be18b94 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewModel.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewModel.swift @@ -7,15 +7,18 @@ import UIKit +import RxSwift +import Then + struct ThemeViewModel { - let clockThemes: [UIImage?] = [.init(named: "theme1"), .init(named: "theme2")] + private let clockThemes = [UIImage(named: "theme1"), UIImage(named: "theme2")] private let backgroundColorTheme = [0xAAAAAA, 0xF0F2F7] private let textColorTheme = [0xFFFFFF, 0x000000] private let clockBackgroundColorTheme = [0x000000, 0xFFFFFF] - var numberOfRowsInSection: Int { - clockThemes.count + var data: Observable<[UIImage?]> { + return Observable.just(clockThemes) } func userDefaults(storeWith index: Int) { diff --git a/FlipClock/Views/ViewController.swift b/FlipClock/Views/ViewController.swift index d47b585..dc39750 100644 --- a/FlipClock/Views/ViewController.swift +++ b/FlipClock/Views/ViewController.swift @@ -5,9 +5,10 @@ // Created by 홍승현 on 2022/06/25. // -import Combine import UIKit +import RxSwift +import RxCocoa import SnapKit import Then @@ -16,7 +17,7 @@ final class ViewController: UIViewController { weak var coordinator: MainCoordinator? private lazy var clockView = FlipClockView() - private var subscriptions = Set() + private let disposeBag = DisposeBag() // MARK: - Life Cycle @@ -60,12 +61,12 @@ extension ViewController { } private func binding() { - UserDefaults.standard - .publisher(for: \.backgroundColorTheme) - .sink { [weak self] in - self?.view.backgroundColor = .init(rgb: $0) - } - .store(in: &subscriptions) + UserDefaults.standard.rx + .observeWeakly(Int.self, "backgroundColorTheme") + .compactMap { $0 } + .map { UIColor.init(rgb: $0) } + .bind(to: self.view.rx.backgroundColor) + .disposed(by: disposeBag) } @objc func settingButtonDidTapped() { From 2ffea23591a13d2bfe13f97f72f4d1ae153cd785 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Fri, 23 Sep 2022 23:50:07 +0900 Subject: [PATCH 63/79] Add: Theme enum --- FlipClock.xcodeproj/project.pbxproj | 5 +++++ FlipClock/Extensions/Theme.swift | 32 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 FlipClock/Extensions/Theme.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 11d08b3..2fe0f13 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -32,6 +32,7 @@ BA95DE1428671BDE00041A30 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1328671BDE00041A30 /* Assets.xcassets */; }; BA95DE1728671BDE00041A30 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */; }; BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlipItem.swift */; }; + BAA57DDD28DDFBE500F10197 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA57DDC28DDFBE500F10197 /* Theme.swift */; }; BAB686C1289AC3F3007D9F77 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C0289AC3F3007D9F77 /* UIColor.swift */; }; BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C2289AD754007D9F77 /* UserDefaults.swift */; }; /* End PBXBuildFile section */ @@ -60,6 +61,7 @@ BA95DE1628671BDE00041A30 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; BA95DE1828671BDE00041A30 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; BA95DE1E28671EFA00041A30 /* FlipItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItem.swift; sourceTree = ""; }; + BAA57DDC28DDFBE500F10197 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; BAB686C0289AC3F3007D9F77 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; BAB686C2289AD754007D9F77 /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -137,6 +139,7 @@ BAB686BE289AC322007D9F77 /* Extensions */ = { isa = PBXGroup; children = ( + BAA57DDC28DDFBE500F10197 /* Theme.swift */, BAB686C0289AC3F3007D9F77 /* UIColor.swift */, BAB686C2289AD754007D9F77 /* UserDefaults.swift */, ); @@ -270,6 +273,7 @@ /* Begin PBXShellScriptBuildPhase section */ BABBAA1028B762860063E7BB /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -307,6 +311,7 @@ BA6D0F6528AE217900F1EF31 /* FlipItemViewModel.swift in Sources */, BA77EF91289A21FC005CF4F6 /* ThemeViewModel.swift in Sources */, BA7ECC312875A04D00511694 /* SettingCoordinator.swift in Sources */, + BAA57DDD28DDFBE500F10197 /* Theme.swift in Sources */, BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */, BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, BA3CFB6128D2074400F097E1 /* SnapShotModel.swift in Sources */, diff --git a/FlipClock/Extensions/Theme.swift b/FlipClock/Extensions/Theme.swift new file mode 100644 index 0000000..c0119a5 --- /dev/null +++ b/FlipClock/Extensions/Theme.swift @@ -0,0 +1,32 @@ +// +// Theme.swift +// FlipClock +// +// Created by 홍승현 on 2022/09/23. +// + +import Foundation + +enum Theme: Int { + case dark + case light + + var colors: HexColor { + switch self { + case .dark: + return HexColor(background: 0xAAAAAA, text: 0xFFFFFF, clockBackground: 0x000000) + case .light: + return HexColor(background: 0xF0F2F7, text: 0x000000, clockBackground: 0xFFFFFF) + } + } +} + +// MARK: - Color(Hex Value) + +extension Theme { + struct HexColor { + let background: Int + let text: Int + let clockBackground: Int + } +} From cd82416edab35fb615559b194ba6f05099e2f3ec Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sun, 25 Sep 2022 14:20:06 +0900 Subject: [PATCH 64/79] Add: currentTheme behaviorRelay --- FlipClock/Extensions/Theme.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/FlipClock/Extensions/Theme.swift b/FlipClock/Extensions/Theme.swift index c0119a5..6c42861 100644 --- a/FlipClock/Extensions/Theme.swift +++ b/FlipClock/Extensions/Theme.swift @@ -7,9 +7,13 @@ import Foundation +import RxCocoa + enum Theme: Int { case dark case light + + static let currentTheme = BehaviorRelay(value: UserDefaults.standard.theme) var colors: HexColor { switch self { From efef99a815741e3361d02342909509169bee5ac3 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sun, 25 Sep 2022 14:20:31 +0900 Subject: [PATCH 65/79] Add: theme variable --- FlipClock/Extensions/UserDefaults.swift | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/FlipClock/Extensions/UserDefaults.swift b/FlipClock/Extensions/UserDefaults.swift index 3b4d206..d6221cf 100644 --- a/FlipClock/Extensions/UserDefaults.swift +++ b/FlipClock/Extensions/UserDefaults.swift @@ -1,23 +1,8 @@ import Foundation extension UserDefaults { - - @objc var backgroundColorTheme: Int { - get { integer(forKey: #function) } - set { set(newValue, forKey: #function) } - } - - @objc var textColorTheme: Int { + @objc var theme: Int { get { integer(forKey: #function) } set { set(newValue, forKey: #function) } } - - @objc var clockBackgroundColorTheme: Int { - get { integer(forKey: #function) } - set { set(newValue, forKey: #function) } - } - - var isThemeConfigured: Bool { - backgroundColorTheme != 0 || textColorTheme != 0 || clockBackgroundColorTheme != 0 - } } From bc0bb579b7fd7d5367110047a3f044eedfd0c333 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sun, 25 Sep 2022 14:24:47 +0900 Subject: [PATCH 66/79] Chore: currentTheme's type --- FlipClock/Extensions/Theme.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Extensions/Theme.swift b/FlipClock/Extensions/Theme.swift index 6c42861..f588cde 100644 --- a/FlipClock/Extensions/Theme.swift +++ b/FlipClock/Extensions/Theme.swift @@ -13,7 +13,7 @@ enum Theme: Int { case dark case light - static let currentTheme = BehaviorRelay(value: UserDefaults.standard.theme) + static let currentTheme = BehaviorRelay(value: Theme(rawValue: UserDefaults.standard.theme) ?? .dark) var colors: HexColor { switch self { From 087575c108d653caf95c258c74c43a0f95ceee88 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sun, 25 Sep 2022 15:43:54 +0900 Subject: [PATCH 67/79] Feat: UserDefaults -> CurrentTheme --- FlipClock/Coordinators/MainCoordinator.swift | 7 ------- FlipClock/Extensions/Theme.swift | 2 +- FlipClock/SceneDelegate.swift | 17 +++++++++++++++++ FlipClock/Views/FlipItem/FlipItem.swift | 16 ++++------------ FlipClock/Views/FlipView/FlipView.swift | 6 ++---- .../Views/ThemeVC/ThemeViewController.swift | 2 +- FlipClock/Views/ThemeVC/ThemeViewModel.swift | 12 ++---------- FlipClock/Views/ViewController.swift | 6 ++---- 8 files changed, 29 insertions(+), 39 deletions(-) diff --git a/FlipClock/Coordinators/MainCoordinator.swift b/FlipClock/Coordinators/MainCoordinator.swift index e21c0b2..083436b 100644 --- a/FlipClock/Coordinators/MainCoordinator.swift +++ b/FlipClock/Coordinators/MainCoordinator.swift @@ -23,13 +23,6 @@ final class MainCoordinator: NSObject, Coordinator { let homeVC = ViewController() homeVC.coordinator = self navigationController.pushViewController(homeVC, animated: false) - - // 테마 설정 안되어 있다면 설정할 수 있도록 보여줌 - if !UserDefaults.standard.isThemeConfigured { - let themeVC = ThemeViewController() - themeVC.modalPresentationStyle = .fullScreen - homeVC.present(themeVC, animated: true) - } } func moveToSetting() { diff --git a/FlipClock/Extensions/Theme.swift b/FlipClock/Extensions/Theme.swift index f588cde..0319647 100644 --- a/FlipClock/Extensions/Theme.swift +++ b/FlipClock/Extensions/Theme.swift @@ -12,7 +12,7 @@ import RxCocoa enum Theme: Int { case dark case light - + static let currentTheme = BehaviorRelay(value: Theme(rawValue: UserDefaults.standard.theme) ?? .dark) var colors: HexColor { diff --git a/FlipClock/SceneDelegate.swift b/FlipClock/SceneDelegate.swift index 182357d..cbc9690 100644 --- a/FlipClock/SceneDelegate.swift +++ b/FlipClock/SceneDelegate.swift @@ -7,8 +7,12 @@ import UIKit +import RxSwift +import RxCocoa + class SceneDelegate: UIResponder, UIWindowSceneDelegate { + let disposeBag = DisposeBag() var window: UIWindow? var coordinator: MainCoordinator? @@ -27,5 +31,18 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { window?.makeKeyAndVisible() coordinator?.start() + + // MARK: - UserDefaults Observation + + UserDefaults.standard.rx + .observeWeakly(Int.self, "theme") + .compactMap { $0 } + .map { Theme(rawValue: $0) } + .compactMap { $0 } + .subscribe(onNext: { + Theme.currentTheme.accept($0) + }) + .disposed(by: disposeBag) + } } diff --git a/FlipClock/Views/FlipItem/FlipItem.swift b/FlipClock/Views/FlipItem/FlipItem.swift index 1367369..336388a 100644 --- a/FlipClock/Views/FlipItem/FlipItem.swift +++ b/FlipClock/Views/FlipItem/FlipItem.swift @@ -69,10 +69,6 @@ extension FlipItem { label.snp.makeConstraints { make in make.edges.equalToSuperview() } - - backgroundColor = UserDefaults.standard.isThemeConfigured - ? .init(rgb: UserDefaults.standard.clockBackgroundColorTheme) - : .black } /// 플립 시계의 폰트 크기를 상위뷰에 맞추어 설정합니다. @@ -83,17 +79,13 @@ extension FlipItem { private func binding() { - UserDefaults.standard.rx - .observeWeakly(Int.self, "clockBackgroundColorTheme") - .compactMap { $0 } - .map { UIColor.init(rgb: $0) } + Theme.currentTheme + .map { UIColor(rgb: $0.colors.clockBackground) } .bind(to: self.rx.backgroundColor) .disposed(by: disposeBag) - UserDefaults.standard.rx - .observeWeakly(Int.self, "textColorTheme") - .compactMap { $0 } - .map { UIColor.init(rgb: $0) } + Theme.currentTheme + .map { UIColor(rgb: $0.colors.text) } .bind(to: self.label.rx.textColor) .disposed(by: disposeBag) diff --git a/FlipClock/Views/FlipView/FlipView.swift b/FlipClock/Views/FlipView/FlipView.swift index 0e54d65..dea6300 100644 --- a/FlipClock/Views/FlipView/FlipView.swift +++ b/FlipClock/Views/FlipView/FlipView.swift @@ -61,10 +61,8 @@ extension FlipView { } private func binding() { - UserDefaults.standard.rx - .observeWeakly(Int.self, "backgroundColorTheme") - .compactMap { $0 } - .map { UIColor.init(rgb: $0) } + Theme.currentTheme + .map { UIColor(rgb: $0.colors.background) } .bind(to: self.line.rx.backgroundColor) .disposed(by: disposeBag) } diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 604a023..2594308 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -51,7 +51,7 @@ final class ThemeViewController: UIViewController { tableView.rx.itemSelected .subscribe(onNext: { [weak self] in - self?.viewModel.userDefaults(storeWith: $0.row) + self?.viewModel.store(with: $0.row) self?.dismiss(animated: true) }) .disposed(by: disposeBag) diff --git a/FlipClock/Views/ThemeVC/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift index be18b94..15fdfc2 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewModel.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewModel.swift @@ -8,24 +8,16 @@ import UIKit import RxSwift -import Then struct ThemeViewModel { private let clockThemes = [UIImage(named: "theme1"), UIImage(named: "theme2")] - private let backgroundColorTheme = [0xAAAAAA, 0xF0F2F7] - private let textColorTheme = [0xFFFFFF, 0x000000] - private let clockBackgroundColorTheme = [0x000000, 0xFFFFFF] var data: Observable<[UIImage?]> { return Observable.just(clockThemes) } - func userDefaults(storeWith index: Int) { - UserDefaults.standard.do { - $0.backgroundColorTheme = backgroundColorTheme[index] - $0.textColorTheme = textColorTheme[index] - $0.clockBackgroundColorTheme = clockBackgroundColorTheme[index] - } + func store(with index: Int) { + UserDefaults.standard.theme = index } } diff --git a/FlipClock/Views/ViewController.swift b/FlipClock/Views/ViewController.swift index dc39750..506d2a8 100644 --- a/FlipClock/Views/ViewController.swift +++ b/FlipClock/Views/ViewController.swift @@ -61,10 +61,8 @@ extension ViewController { } private func binding() { - UserDefaults.standard.rx - .observeWeakly(Int.self, "backgroundColorTheme") - .compactMap { $0 } - .map { UIColor.init(rgb: $0) } + Theme.currentTheme + .map { UIColor(rgb: $0.colors.background) } .bind(to: self.view.rx.backgroundColor) .disposed(by: disposeBag) } From 76dcb6af82ea8b4e4a1cdb1123ddfb5a7d7f3705 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Sun, 25 Sep 2022 16:17:35 +0900 Subject: [PATCH 68/79] Chore: ThemeVC present -> push --- FlipClock/Coordinators/ThemeCoordinator.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Coordinators/ThemeCoordinator.swift b/FlipClock/Coordinators/ThemeCoordinator.swift index 3396182..25f6b17 100644 --- a/FlipClock/Coordinators/ThemeCoordinator.swift +++ b/FlipClock/Coordinators/ThemeCoordinator.swift @@ -19,6 +19,6 @@ final class ThemeCoordinator: Coordinator { func start() { let themeVC = ThemeViewController() themeVC.coordinator = self - navigationController.viewControllers.last?.present(themeVC, animated: true) + navigationController.pushViewController(themeVC, animated: true) } } From 42127db122570da40c341e338798c77700f29ddc Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 20:58:26 +0900 Subject: [PATCH 69/79] Chore: cell image -> string --- FlipClock/Views/ThemeVC/ThemeTableViewCell.swift | 16 ++++++---------- .../Views/ThemeVC/ThemeViewController.swift | 1 - FlipClock/Views/ThemeVC/ThemeViewModel.swift | 7 +++++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift b/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift index b7cca82..5c2124a 100644 --- a/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift +++ b/FlipClock/Views/ThemeVC/ThemeTableViewCell.swift @@ -14,12 +14,8 @@ final class ThemeTableViewCell: UITableViewCell { static let id = "ThemeTableViewCell" - private lazy var themeImageView = UIImageView().then { - $0.contentMode = .scaleAspectFit - $0.layer.shadowOffset = CGSize(width: 5, height: 5) - $0.layer.shadowOpacity = 0.7 - $0.layer.shadowRadius = 5 - $0.layer.shadowColor = UIColor.gray.cgColor + private lazy var themeLabel = UILabel().then { + $0.font = .systemFont(ofSize: 17) } override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { @@ -32,14 +28,14 @@ final class ThemeTableViewCell: UITableViewCell { } private func configure() { - contentView.addSubview(themeImageView) + contentView.addSubview(themeLabel) - themeImageView.snp.makeConstraints { make in + themeLabel.snp.makeConstraints { make in make.edges.equalToSuperview().inset(20) } } - func configure(with image: UIImage) { - themeImageView.image = image + func configure(with text: String) { + themeLabel.text = text } } diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 2594308..0b9027b 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -44,7 +44,6 @@ final class ThemeViewController: UIViewController { cellIdentifier: ThemeTableViewCell.id, cellType: ThemeTableViewCell.self )) { _, element, cell in - guard let element = element else { return } cell.configure(with: element) } .disposed(by: disposeBag) diff --git a/FlipClock/Views/ThemeVC/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift index 15fdfc2..95be5ea 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewModel.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewModel.swift @@ -11,9 +11,12 @@ import RxSwift struct ThemeViewModel { - private let clockThemes = [UIImage(named: "theme1"), UIImage(named: "theme2")] + private let clockThemes = [ + "흑", + "백" + ] - var data: Observable<[UIImage?]> { + var data: Observable<[String]> { return Observable.just(clockThemes) } From 42aa3bf70e5bfb49b137c721174b10164a80bb4b Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 20:58:51 +0900 Subject: [PATCH 70/79] Chore: tableview setting --- FlipClock/Views/ThemeVC/ThemeViewController.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 0b9027b..b7a4eac 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -18,8 +18,7 @@ final class ThemeViewController: UIViewController { private let viewModel = ThemeViewModel() private let disposeBag = DisposeBag() - private lazy var tableView = UITableView().then { - $0.separatorStyle = .none + private lazy var tableView = UITableView(frame: .zero, style: .insetGrouped).then { $0.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) } From 25ca2b9dbabfb117883270f417faca6d08b06fd7 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 20:59:25 +0900 Subject: [PATCH 71/79] Del: Coordinator `weak` --- FlipClock/Views/ThemeVC/ThemeViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index b7a4eac..6244e5b 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -14,7 +14,7 @@ import Then final class ThemeViewController: UIViewController { - weak var coordinator: ThemeCoordinator? + var coordinator: ThemeCoordinator? private let viewModel = ThemeViewModel() private let disposeBag = DisposeBag() From 6169890ac95f72d55a064cd709dc16844eee1c4c Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 20:59:41 +0900 Subject: [PATCH 72/79] Chore: dismiss to popVC --- FlipClock/Views/ThemeVC/ThemeViewController.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 6244e5b..f590642 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -22,12 +22,16 @@ final class ThemeViewController: UIViewController { $0.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) } + // MARK: - Life Cycle + override func viewDidLoad() { super.viewDidLoad() configureUI() binding() } + // MARK: - Configuration + private func configureUI() { view.backgroundColor = .systemBackground view.addSubview(tableView) @@ -50,7 +54,7 @@ final class ThemeViewController: UIViewController { tableView.rx.itemSelected .subscribe(onNext: { [weak self] in self?.viewModel.store(with: $0.row) - self?.dismiss(animated: true) + self?.navigationController?.popViewController(animated: true) }) .disposed(by: disposeBag) } From be3a2034dafa485244dd112f455c6e2cb6bc6c3c Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 21:13:07 +0900 Subject: [PATCH 73/79] Chore: TableViewCell accessoryType MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 선택시 체크표시, 아닐 경우 체크표시 해제 --- FlipClock/Views/ThemeVC/ThemeViewController.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index f590642..7d566d2 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -46,7 +46,8 @@ final class ThemeViewController: UIViewController { .bind(to: tableView.rx.items( cellIdentifier: ThemeTableViewCell.id, cellType: ThemeTableViewCell.self - )) { _, element, cell in + )) { index, element, cell in + cell.accessoryType = UserDefaults.standard.theme == index ? .checkmark : .none cell.configure(with: element) } .disposed(by: disposeBag) @@ -54,7 +55,7 @@ final class ThemeViewController: UIViewController { tableView.rx.itemSelected .subscribe(onNext: { [weak self] in self?.viewModel.store(with: $0.row) - self?.navigationController?.popViewController(animated: true) + self?.tableView.reloadData() }) .disposed(by: disposeBag) } From 2576eaaf7cf9531a774c5eba571879969d3f6c87 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 21:29:36 +0900 Subject: [PATCH 74/79] Chore: tableView rx to delegate pattern --- .../Views/ThemeVC/ThemeViewController.swift | 51 ++++++++++++------- FlipClock/Views/ThemeVC/ThemeViewModel.swift | 6 +-- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index 7d566d2..b6a1b25 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -16,10 +16,11 @@ final class ThemeViewController: UIViewController { var coordinator: ThemeCoordinator? private let viewModel = ThemeViewModel() - private let disposeBag = DisposeBag() private lazy var tableView = UITableView(frame: .zero, style: .insetGrouped).then { $0.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) + $0.dataSource = self + $0.delegate = self } // MARK: - Life Cycle @@ -27,7 +28,6 @@ final class ThemeViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() configureUI() - binding() } // MARK: - Configuration @@ -40,23 +40,36 @@ final class ThemeViewController: UIViewController { make.edges.equalToSuperview() } } +} + +// MARK: - UITableViewDataSource + +extension ThemeViewController: UITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return viewModel.clockThemes.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + guard let cell = tableView.dequeueReusableCell( + withIdentifier: ThemeTableViewCell.id, + for: indexPath + ) as? ThemeTableViewCell else { + fatalError() + } + + cell.accessoryType = UserDefaults.standard.theme == indexPath.row ? .checkmark : .none + cell.configure(with: viewModel.clockThemes[indexPath.row]) + return cell + } + +} + +// MARK: - UITableViewDelegate - private func binding() { - viewModel.data - .bind(to: tableView.rx.items( - cellIdentifier: ThemeTableViewCell.id, - cellType: ThemeTableViewCell.self - )) { index, element, cell in - cell.accessoryType = UserDefaults.standard.theme == index ? .checkmark : .none - cell.configure(with: element) - } - .disposed(by: disposeBag) - - tableView.rx.itemSelected - .subscribe(onNext: { [weak self] in - self?.viewModel.store(with: $0.row) - self?.tableView.reloadData() - }) - .disposed(by: disposeBag) +extension ThemeViewController: UITableViewDelegate { + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + viewModel.store(with: indexPath.row) + tableView.reloadData() } } diff --git a/FlipClock/Views/ThemeVC/ThemeViewModel.swift b/FlipClock/Views/ThemeVC/ThemeViewModel.swift index 95be5ea..c36f513 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewModel.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewModel.swift @@ -11,15 +11,11 @@ import RxSwift struct ThemeViewModel { - private let clockThemes = [ + let clockThemes = [ "흑", "백" ] - var data: Observable<[String]> { - return Observable.just(clockThemes) - } - func store(with index: Int) { UserDefaults.standard.theme = index } From 908187d08e4e8497ee858f88bc101b22c758a408 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Wed, 12 Oct 2022 22:09:33 +0900 Subject: [PATCH 75/79] Add: headerview --- FlipClock.xcodeproj/project.pbxproj | 4 +++ FlipClock/Views/ThemeVC/ThemeHeaderView.swift | 28 +++++++++++++++++++ .../Views/ThemeVC/ThemeViewController.swift | 11 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 FlipClock/Views/ThemeVC/ThemeHeaderView.swift diff --git a/FlipClock.xcodeproj/project.pbxproj b/FlipClock.xcodeproj/project.pbxproj index 2fe0f13..91a84a0 100644 --- a/FlipClock.xcodeproj/project.pbxproj +++ b/FlipClock.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ BA95DE1728671BDE00041A30 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA95DE1528671BDE00041A30 /* LaunchScreen.storyboard */; }; BA95DE1F28671EFA00041A30 /* FlipItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95DE1E28671EFA00041A30 /* FlipItem.swift */; }; BAA57DDD28DDFBE500F10197 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA57DDC28DDFBE500F10197 /* Theme.swift */; }; + BAA743E928F6E3C400B9A768 /* ThemeHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA743E828F6E3C400B9A768 /* ThemeHeaderView.swift */; }; BAB686C1289AC3F3007D9F77 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C0289AC3F3007D9F77 /* UIColor.swift */; }; BAB686C3289AD754007D9F77 /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB686C2289AD754007D9F77 /* UserDefaults.swift */; }; /* End PBXBuildFile section */ @@ -62,6 +63,7 @@ BA95DE1828671BDE00041A30 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; BA95DE1E28671EFA00041A30 /* FlipItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlipItem.swift; sourceTree = ""; }; BAA57DDC28DDFBE500F10197 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; + BAA743E828F6E3C400B9A768 /* ThemeHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeHeaderView.swift; sourceTree = ""; }; BAB686C0289AC3F3007D9F77 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; BAB686C2289AD754007D9F77 /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -186,6 +188,7 @@ BAC6AEB728B07665004F01BF /* ThemeVC */ = { isa = PBXGroup; children = ( + BAA743E828F6E3C400B9A768 /* ThemeHeaderView.swift */, BA77EF92289A23D8005CF4F6 /* ThemeTableViewCell.swift */, BA77EF90289A21FC005CF4F6 /* ThemeViewModel.swift */, BA77EF8C28995550005CF4F6 /* ThemeViewController.swift */, @@ -316,6 +319,7 @@ BA7ECC2928757D4200511694 /* Coordinator.swift in Sources */, BA3CFB6128D2074400F097E1 /* SnapShotModel.swift in Sources */, BA7ECC2E28759CB200511694 /* SettingsViewController.swift in Sources */, + BAA743E928F6E3C400B9A768 /* ThemeHeaderView.swift in Sources */, BA6D0F6728AE30B500F1EF31 /* FlipAnimationViewModel.swift in Sources */, BA77EF8A2898F4E4005CF4F6 /* SettingsViewModel.swift in Sources */, ); diff --git a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift new file mode 100644 index 0000000..486a051 --- /dev/null +++ b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift @@ -0,0 +1,28 @@ +// +// ThemeHeaderView.swift +// FlipClock +// +// Created by 홍승현 on 2022/10/12. +// + +import UIKit + +final class ThemeHeaderView: UITableViewHeaderFooterView { + + static let id = "ThemeHeaderView" + + override init(reuseIdentifier: String?) { + super.init(reuseIdentifier: reuseIdentifier) + setupStyles() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + private func setupStyles() { + var backgroundConfig = UIBackgroundConfiguration.listPlainHeaderFooter() + backgroundConfig.backgroundColor = .systemGray + backgroundConfiguration = backgroundConfig + } +} diff --git a/FlipClock/Views/ThemeVC/ThemeViewController.swift b/FlipClock/Views/ThemeVC/ThemeViewController.swift index b6a1b25..c7c1d89 100644 --- a/FlipClock/Views/ThemeVC/ThemeViewController.swift +++ b/FlipClock/Views/ThemeVC/ThemeViewController.swift @@ -18,6 +18,7 @@ final class ThemeViewController: UIViewController { private let viewModel = ThemeViewModel() private lazy var tableView = UITableView(frame: .zero, style: .insetGrouped).then { + $0.register(ThemeHeaderView.self, forHeaderFooterViewReuseIdentifier: ThemeHeaderView.id) $0.register(ThemeTableViewCell.self, forCellReuseIdentifier: ThemeTableViewCell.id) $0.dataSource = self $0.delegate = self @@ -72,4 +73,14 @@ extension ThemeViewController: UITableViewDelegate { viewModel.store(with: indexPath.row) tableView.reloadData() } + + func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + guard let headerView = tableView.dequeueReusableHeaderFooterView( + withIdentifier: ThemeHeaderView.id + ) as? ThemeHeaderView else { + return nil + } + + return headerView + } } From 83eab8e8977cb7e5efe9948fa823a70a65d22620 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Thu, 20 Oct 2022 13:07:42 +0900 Subject: [PATCH 76/79] Feat: HeaderView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 시계 인스턴스 추가 --- FlipClock/Views/ThemeVC/ThemeHeaderView.swift | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift index 486a051..1cea69c 100644 --- a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift +++ b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift @@ -7,12 +7,30 @@ import UIKit +import SnapKit +import Then + final class ThemeHeaderView: UITableViewHeaderFooterView { static let id = "ThemeHeaderView" + private let containerView = UIStackView().then { + $0.alignment = .center + $0.distribution = .fillEqually + $0.spacing = 10 + } + + private let exampleView = [FlipView]().with { + for _ in 0..<3 { + let view = FlipView() + $0.append(view) + } + } + override init(reuseIdentifier: String?) { super.init(reuseIdentifier: reuseIdentifier) + setupLayouts() + setupConstraints() setupStyles() } @@ -20,6 +38,25 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { fatalError("init(coder:) has not been implemented") } + private func setupLayouts() { + addSubview(containerView) + exampleView.forEach { + containerView.addArrangedSubview($0) + } + } + + private func setupConstraints() { + containerView.snp.makeConstraints { make in + make.edges.equalToSuperview().inset(30) + } + + exampleView.forEach { view in + view.snp.makeConstraints { make in + make.height.equalTo(view.snp.width) + } + } + } + private func setupStyles() { var backgroundConfig = UIBackgroundConfiguration.listPlainHeaderFooter() backgroundConfig.backgroundColor = .systemGray From 760497b38d5204fd9eba5de9ca2835b3ceea8235 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 25 Oct 2022 12:10:29 +0900 Subject: [PATCH 77/79] [CHORE] background to dynamic with rxswift --- FlipClock/Views/ThemeVC/ThemeHeaderView.swift | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift index 1cea69c..a6116f2 100644 --- a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift +++ b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift @@ -7,12 +7,15 @@ import UIKit +import RxSwift +import RxCocoa import SnapKit import Then final class ThemeHeaderView: UITableViewHeaderFooterView { static let id = "ThemeHeaderView" + private let disposeBag = DisposeBag() private let containerView = UIStackView().then { $0.alignment = .center @@ -31,7 +34,7 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { super.init(reuseIdentifier: reuseIdentifier) setupLayouts() setupConstraints() - setupStyles() + bind() } required init?(coder: NSCoder) { @@ -56,10 +59,15 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { } } } - - private func setupStyles() { - var backgroundConfig = UIBackgroundConfiguration.listPlainHeaderFooter() - backgroundConfig.backgroundColor = .systemGray - backgroundConfiguration = backgroundConfig + + private func bind() { + Theme.currentTheme + .map { UIColor(rgb: $0.colors.background) } + .subscribe(onNext: { [weak self] in + var backgroundConfig = UIBackgroundConfiguration.listPlainHeaderFooter() + backgroundConfig.backgroundColor = $0 + self?.backgroundConfiguration = backgroundConfig + }) + .disposed(by: disposeBag) } } From 6185df8311831bdfa81e995511b7ff2b6dd23762 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 25 Oct 2022 13:02:32 +0900 Subject: [PATCH 78/79] Feat: Example View 3D Effects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clock Background View를 따로 추가하였고, 시계 뷰를 addSubview함. 위 View의 clipToBounds를 제거하고 그림자 효과를 주어 3D효과를 냄 이에 따라 background 색상을 clock background view에 rx를 이용하여 동적으로 주었고, 기존 background는 clear 처리 --- FlipClock/Views/ThemeVC/ThemeHeaderView.swift | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift index a6116f2..2260ecd 100644 --- a/FlipClock/Views/ThemeVC/ThemeHeaderView.swift +++ b/FlipClock/Views/ThemeVC/ThemeHeaderView.swift @@ -17,6 +17,15 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { static let id = "ThemeHeaderView" private let disposeBag = DisposeBag() + private let clockBackgroundView = UIView().then { + $0.layer.shadowRadius = 5 + $0.layer.shadowOpacity = 0.4 + $0.layer.shadowOffset = CGSize(width: 0, height: 4) + $0.layer.shadowColor = UIColor.lightGray.cgColor + $0.clipsToBounds = false + $0.layer.cornerRadius = 15 + } + private let containerView = UIStackView().then { $0.alignment = .center $0.distribution = .fillEqually @@ -34,6 +43,7 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { super.init(reuseIdentifier: reuseIdentifier) setupLayouts() setupConstraints() + setupStyles() bind() } @@ -42,15 +52,22 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { } private func setupLayouts() { - addSubview(containerView) + self.addSubview(clockBackgroundView) + self.clockBackgroundView.addSubview(containerView) exampleView.forEach { containerView.addArrangedSubview($0) } } private func setupConstraints() { + + clockBackgroundView.snp.makeConstraints { make in + make.verticalEdges.equalToSuperview().inset(30) + make.horizontalEdges.equalToSuperview().inset(10) + } + containerView.snp.makeConstraints { make in - make.edges.equalToSuperview().inset(30) + make.edges.equalToSuperview().inset(10) } exampleView.forEach { view in @@ -59,15 +76,17 @@ final class ThemeHeaderView: UITableViewHeaderFooterView { } } } - + + private func setupStyles() { + var config = UIBackgroundConfiguration.listPlainHeaderFooter() + config.backgroundColor = .clear + self.backgroundConfiguration = config + } + private func bind() { Theme.currentTheme .map { UIColor(rgb: $0.colors.background) } - .subscribe(onNext: { [weak self] in - var backgroundConfig = UIBackgroundConfiguration.listPlainHeaderFooter() - backgroundConfig.backgroundColor = $0 - self?.backgroundConfiguration = backgroundConfig - }) + .bind(to: self.clockBackgroundView.rx.backgroundColor) .disposed(by: disposeBag) } } From 928c316675a111c5a59e1b140bb5f066ff4c2228 Mon Sep 17 00:00:00 2001 From: SeungHyeon Hong Date: Tue, 25 Oct 2022 23:32:19 +0900 Subject: [PATCH 79/79] =?UTF-8?q?Feat:=20Screen=20=EC=A0=88=EC=A0=84?= =?UTF-8?q?=EB=AA=A8=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 시계를 볼 때 Screen이 꺼지지 않게 설정 - 이외에는 기존 설정으로 변경 --- FlipClock/Views/ViewController.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FlipClock/Views/ViewController.swift b/FlipClock/Views/ViewController.swift index 506d2a8..6f4f786 100644 --- a/FlipClock/Views/ViewController.swift +++ b/FlipClock/Views/ViewController.swift @@ -30,11 +30,13 @@ final class ViewController: UIViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) clockView.start() + UIApplication.shared.isIdleTimerDisabled = true } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) clockView.stop() + UIApplication.shared.isIdleTimerDisabled = false } }