diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index f1ad6402..32436022 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -56,6 +56,25 @@ 78B928702C29402C006D9942 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B9286F2C29402C006D9942 /* ViewController.swift */; }; 78B928752C29402E006D9942 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 78B928742C29402E006D9942 /* Assets.xcassets */; }; 78B928782C29402E006D9942 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 78B928762C29402E006D9942 /* LaunchScreen.storyboard */; }; + DE254AA52C31131600A4015E /* Color.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DE254AA42C31131600A4015E /* Color.xcassets */; }; + DE254AA82C3118EA00A4015E /* UIView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AA72C3118EA00A4015E /* UIView+.swift */; }; + DE254AAA2C31190E00A4015E /* UIStackView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AA92C31190E00A4015E /* UIStackView+.swift */; }; + DE254AAC2C31192400A4015E /* UILabel+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AAB2C31192400A4015E /* UILabel+.swift */; }; + DE254AAE2C31193600A4015E /* UIFont+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AAD2C31193600A4015E /* UIFont+.swift */; }; + DE254AB02C31195B00A4015E /* NSAttributedString+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AAF2C31195B00A4015E /* NSAttributedString+.swift */; }; + DE254AB22C31197B00A4015E /* UIButton+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AB12C31197B00A4015E /* UIButton+.swift */; }; + DE254AB42C31199B00A4015E /* UITextField+.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AB32C31199B00A4015E /* UITextField+.swift */; }; + DE254AB72C3119D000A4015E /* ReuseIdentifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AB62C3119D000A4015E /* ReuseIdentifiable.swift */; }; + DE254AB92C311AB300A4015E /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE254AB82C311AB300A4015E /* Screen.swift */; }; + DE254AC42C311DC200A4015E /* Pretendard-ExtraBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254ABB2C311DC200A4015E /* Pretendard-ExtraBold.otf */; }; + DE254AC52C311DC200A4015E /* Pretendard-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254ABC2C311DC200A4015E /* Pretendard-Regular.otf */; }; + DE254AC62C311DC200A4015E /* Pretendard-ExtraLight.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254ABD2C311DC200A4015E /* Pretendard-ExtraLight.otf */; }; + DE254AC72C311DC200A4015E /* Pretendard-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254ABE2C311DC200A4015E /* Pretendard-Bold.otf */; }; + DE254AC82C311DC200A4015E /* Pretendard-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254ABF2C311DC200A4015E /* Pretendard-Medium.otf */; }; + DE254AC92C311DC200A4015E /* Pretendard-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254AC02C311DC200A4015E /* Pretendard-SemiBold.otf */; }; + DE254ACA2C311DC200A4015E /* Pretendard-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254AC12C311DC200A4015E /* Pretendard-Light.otf */; }; + DE254ACB2C311DC200A4015E /* Pretendard-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254AC22C311DC200A4015E /* Pretendard-Black.otf */; }; + DE254ACC2C311DC200A4015E /* Pretendard-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DE254AC32C311DC200A4015E /* Pretendard-Thin.otf */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -66,6 +85,25 @@ 78B928742C29402E006D9942 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 78B928772C29402E006D9942 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 78B928792C29402E006D9942 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DE254AA42C31131600A4015E /* Color.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Color.xcassets; sourceTree = ""; }; + DE254AA72C3118EA00A4015E /* UIView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+.swift"; sourceTree = ""; }; + DE254AA92C31190E00A4015E /* UIStackView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIStackView+.swift"; sourceTree = ""; }; + DE254AAB2C31192400A4015E /* UILabel+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+.swift"; sourceTree = ""; }; + DE254AAD2C31193600A4015E /* UIFont+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+.swift"; sourceTree = ""; }; + DE254AAF2C31195B00A4015E /* NSAttributedString+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+.swift"; sourceTree = ""; }; + DE254AB12C31197B00A4015E /* UIButton+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+.swift"; sourceTree = ""; }; + DE254AB32C31199B00A4015E /* UITextField+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextField+.swift"; sourceTree = ""; }; + DE254AB62C3119D000A4015E /* ReuseIdentifiable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReuseIdentifiable.swift; sourceTree = ""; }; + DE254AB82C311AB300A4015E /* Screen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + DE254ABB2C311DC200A4015E /* Pretendard-ExtraBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-ExtraBold.otf"; sourceTree = ""; }; + DE254ABC2C311DC200A4015E /* Pretendard-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Regular.otf"; sourceTree = ""; }; + DE254ABD2C311DC200A4015E /* Pretendard-ExtraLight.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-ExtraLight.otf"; sourceTree = ""; }; + DE254ABE2C311DC200A4015E /* Pretendard-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Bold.otf"; sourceTree = ""; }; + DE254ABF2C311DC200A4015E /* Pretendard-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Medium.otf"; sourceTree = ""; }; + DE254AC02C311DC200A4015E /* Pretendard-SemiBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-SemiBold.otf"; sourceTree = ""; }; + DE254AC12C311DC200A4015E /* Pretendard-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Light.otf"; sourceTree = ""; }; + DE254AC22C311DC200A4015E /* Pretendard-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Black.otf"; sourceTree = ""; }; + DE254AC32C311DC200A4015E /* Pretendard-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Thin.otf"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -140,16 +178,83 @@ sourceTree = ""; }; 78B9286A2C29402C006D9942 /* KkuMulKum */ = { + isa = PBXGroup; + children = ( + DE254AA12C31106700A4015E /* Application */, + DE254AA22C31107700A4015E /* Source */, + DE254AA32C31107C00A4015E /* Resource */, + ); + path = KkuMulKum; + sourceTree = ""; + }; + DE254AA12C31106700A4015E /* Application */ = { isa = PBXGroup; children = ( 78B9286B2C29402C006D9942 /* AppDelegate.swift */, 78B9286D2C29402C006D9942 /* SceneDelegate.swift */, + ); + path = Application; + sourceTree = ""; + }; + DE254AA22C31107700A4015E /* Source */ = { + isa = PBXGroup; + children = ( 78B9286F2C29402C006D9942 /* ViewController.swift */, + ); + path = Source; + sourceTree = ""; + }; + DE254AA32C31107C00A4015E /* Resource */ = { + isa = PBXGroup; + children = ( + DE254AA42C31131600A4015E /* Color.xcassets */, 78B928742C29402E006D9942 /* Assets.xcassets */, 78B928762C29402E006D9942 /* LaunchScreen.storyboard */, 78B928792C29402E006D9942 /* Info.plist */, + DE254AA62C3118B300A4015E /* Extension */, + DE254AB52C3119BC00A4015E /* Util */, + DE254ABA2C311C3100A4015E /* Font */, ); - path = KkuMulKum; + path = Resource; + sourceTree = ""; + }; + DE254AA62C3118B300A4015E /* Extension */ = { + isa = PBXGroup; + children = ( + DE254AA72C3118EA00A4015E /* UIView+.swift */, + DE254AA92C31190E00A4015E /* UIStackView+.swift */, + DE254AAD2C31193600A4015E /* UIFont+.swift */, + DE254AAF2C31195B00A4015E /* NSAttributedString+.swift */, + DE254AAB2C31192400A4015E /* UILabel+.swift */, + DE254AB12C31197B00A4015E /* UIButton+.swift */, + DE254AB32C31199B00A4015E /* UITextField+.swift */, + ); + path = Extension; + sourceTree = ""; + }; + DE254AB52C3119BC00A4015E /* Util */ = { + isa = PBXGroup; + children = ( + DE254AB62C3119D000A4015E /* ReuseIdentifiable.swift */, + DE254AB82C311AB300A4015E /* Screen.swift */, + ); + path = Util; + sourceTree = ""; + }; + DE254ABA2C311C3100A4015E /* Font */ = { + isa = PBXGroup; + children = ( + DE254AC22C311DC200A4015E /* Pretendard-Black.otf */, + DE254ABE2C311DC200A4015E /* Pretendard-Bold.otf */, + DE254ABB2C311DC200A4015E /* Pretendard-ExtraBold.otf */, + DE254ABD2C311DC200A4015E /* Pretendard-ExtraLight.otf */, + DE254AC12C311DC200A4015E /* Pretendard-Light.otf */, + DE254ABF2C311DC200A4015E /* Pretendard-Medium.otf */, + DE254ABC2C311DC200A4015E /* Pretendard-Regular.otf */, + DE254AC02C311DC200A4015E /* Pretendard-SemiBold.otf */, + DE254AC32C311DC200A4015E /* Pretendard-Thin.otf */, + ); + path = Font; sourceTree = ""; }; /* End PBXGroup section */ @@ -264,8 +369,18 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + DE254AC62C311DC200A4015E /* Pretendard-ExtraLight.otf in Resources */, 78B928782C29402E006D9942 /* LaunchScreen.storyboard in Resources */, + DE254AC72C311DC200A4015E /* Pretendard-Bold.otf in Resources */, + DE254ACC2C311DC200A4015E /* Pretendard-Thin.otf in Resources */, + DE254ACA2C311DC200A4015E /* Pretendard-Light.otf in Resources */, + DE254AC82C311DC200A4015E /* Pretendard-Medium.otf in Resources */, 78B928752C29402E006D9942 /* Assets.xcassets in Resources */, + DE254ACB2C311DC200A4015E /* Pretendard-Black.otf in Resources */, + DE254AC52C311DC200A4015E /* Pretendard-Regular.otf in Resources */, + DE254AC92C311DC200A4015E /* Pretendard-SemiBold.otf in Resources */, + DE254AC42C311DC200A4015E /* Pretendard-ExtraBold.otf in Resources */, + DE254AA52C31131600A4015E /* Color.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -276,9 +391,18 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DE254AAC2C31192400A4015E /* UILabel+.swift in Sources */, + DE254AB72C3119D000A4015E /* ReuseIdentifiable.swift in Sources */, + DE254AB42C31199B00A4015E /* UITextField+.swift in Sources */, + DE254AAA2C31190E00A4015E /* UIStackView+.swift in Sources */, + DE254AA82C3118EA00A4015E /* UIView+.swift in Sources */, + DE254AAE2C31193600A4015E /* UIFont+.swift in Sources */, + DE254AB22C31197B00A4015E /* UIButton+.swift in Sources */, 78B928702C29402C006D9942 /* ViewController.swift in Sources */, 78B9286C2C29402C006D9942 /* AppDelegate.swift in Sources */, 78B9286E2C29402C006D9942 /* SceneDelegate.swift in Sources */, + DE254AB02C31195B00A4015E /* NSAttributedString+.swift in Sources */, + DE254AB92C311AB300A4015E /* Screen.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -424,7 +548,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 2DF5SKQK2R; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = KkuMulKum/Info.plist; + INFOPLIST_FILE = KkuMulKum/Resource/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; @@ -452,7 +576,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 2DF5SKQK2R; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = KkuMulKum/Info.plist; + INFOPLIST_FILE = KkuMulKum/Resource/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; diff --git a/KkuMulKum/AppDelegate.swift b/KkuMulKum/AppDelegate.swift deleted file mode 100644 index 1dbd3251..00000000 --- a/KkuMulKum/AppDelegate.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// AppDelegate.swift -// KkuMulKum -// -// Created by 이지훈 on 6/24/24. -// - -import UIKit - -@main -class AppDelegate: UIResponder, UIApplicationDelegate { - - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - 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. - 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/KkuMulKum/Application/AppDelegate.swift b/KkuMulKum/Application/AppDelegate.swift new file mode 100644 index 00000000..5cad84aa --- /dev/null +++ b/KkuMulKum/Application/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// KkuMulKum +// +// Created by 이지훈 on 6/24/24. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + 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 { + return UISceneConfiguration( + name: "Default Configuration", + sessionRole: connectingSceneSession.role + ) + } + + func application( + _ application: UIApplication, + didDiscardSceneSessions sceneSessions: Set + ) {} +} diff --git a/KkuMulKum/Application/SceneDelegate.swift b/KkuMulKum/Application/SceneDelegate.swift new file mode 100644 index 00000000..433b0a49 --- /dev/null +++ b/KkuMulKum/Application/SceneDelegate.swift @@ -0,0 +1,30 @@ +// +// SceneDelegate.swift +// KkuMulKum +// +// Created by 이지훈 on 6/24/24. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? + + func scene( + _ scene: UIScene, + willConnectTo session: UISceneSession, + options connectionOptions: UIScene.ConnectionOptions + ) { + guard let windowScene = (scene as? UIWindowScene) else { return } + self.window = UIWindow(windowScene: windowScene) + let navigationController = UINavigationController(rootViewController: ViewController()) + self.window?.rootViewController = navigationController + self.window?.makeKeyAndVisible() + } + + func sceneDidDisconnect(_ scene: UIScene) {} + func sceneDidBecomeActive(_ scene: UIScene) {} + func sceneWillResignActive(_ scene: UIScene) {} + func sceneWillEnterForeground(_ scene: UIScene) {} + func sceneDidEnterBackground(_ scene: UIScene) {} +} diff --git a/KkuMulKum/Assets.xcassets/AccentColor.colorset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from KkuMulKum/Assets.xcassets/AccentColor.colorset/Contents.json rename to KkuMulKum/Resource/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/KkuMulKum/Assets.xcassets/AppIcon.appiconset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from KkuMulKum/Assets.xcassets/AppIcon.appiconset/Contents.json rename to KkuMulKum/Resource/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/KkuMulKum/Assets.xcassets/AppIcon.appiconset/appstore.png b/KkuMulKum/Resource/Assets.xcassets/AppIcon.appiconset/appstore.png similarity index 100% rename from KkuMulKum/Assets.xcassets/AppIcon.appiconset/appstore.png rename to KkuMulKum/Resource/Assets.xcassets/AppIcon.appiconset/appstore.png diff --git a/KkuMulKum/Assets.xcassets/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Contents.json similarity index 100% rename from KkuMulKum/Assets.xcassets/Contents.json rename to KkuMulKum/Resource/Assets.xcassets/Contents.json diff --git a/KkuMulKum/Base.lproj/LaunchScreen.storyboard b/KkuMulKum/Resource/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from KkuMulKum/Base.lproj/LaunchScreen.storyboard rename to KkuMulKum/Resource/Base.lproj/LaunchScreen.storyboard diff --git a/KkuMulKum/Resource/Color.xcassets/Contents.json b/KkuMulKum/Resource/Color.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray1.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray1.colorset/Contents.json new file mode 100644 index 00000000..41f3b32f --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray1.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.937", + "green" : "0.937", + "red" : "0.937" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray2.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray2.colorset/Contents.json new file mode 100644 index 00000000..a016dc2b --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray2.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.875", + "green" : "0.875", + "red" : "0.875" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray3.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray3.colorset/Contents.json new file mode 100644 index 00000000..21190851 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray3.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.757", + "green" : "0.757", + "red" : "0.757" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray4.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray4.colorset/Contents.json new file mode 100644 index 00000000..47110268 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray4.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.647", + "green" : "0.647", + "red" : "0.647" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray5.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray5.colorset/Contents.json new file mode 100644 index 00000000..d9fe14af --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray5.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.545", + "green" : "0.545", + "red" : "0.545" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray6.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray6.colorset/Contents.json new file mode 100644 index 00000000..5033ef26 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray6.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.435", + "green" : "0.435", + "red" : "0.435" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray7.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray7.colorset/Contents.json new file mode 100644 index 00000000..55c86755 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray7.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.239", + "green" : "0.239", + "red" : "0.239" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray8.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray8.colorset/Contents.json new file mode 100644 index 00000000..7e5c604c --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray8.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.141", + "green" : "0.141", + "red" : "0.141" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/gray9.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/gray9.colorset/Contents.json new file mode 100644 index 00000000..3da689ce --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/gray9.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.090", + "green" : "0.090", + "red" : "0.090" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green1.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green1.colorset/Contents.json new file mode 100644 index 00000000..ee0a1488 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green1.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.925", + "green" : "0.973", + "red" : "0.859" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green2.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green2.colorset/Contents.json new file mode 100644 index 00000000..2c7e622c --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green2.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.827", + "green" : "0.965", + "red" : "0.631" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green3.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green3.colorset/Contents.json new file mode 100644 index 00000000..0c510d70 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green3.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.749", + "green" : "0.922", + "red" : "0.357" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green4.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green4.colorset/Contents.json new file mode 100644 index 00000000..8881476b --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green4.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.663", + "green" : "0.855", + "red" : "0.212" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green5.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green5.colorset/Contents.json new file mode 100644 index 00000000..4733766c --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green5.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.545", + "green" : "0.780", + "red" : "0.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/green6.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/green6.colorset/Contents.json new file mode 100644 index 00000000..517297e2 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/green6.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.365", + "green" : "0.635", + "red" : "0.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/lightGreen.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/lightGreen.colorset/Contents.json new file mode 100644 index 00000000..4da4e4c2 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/lightGreen.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.227", + "green" : "0.953", + "red" : "0.831" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/maincolor.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/maincolor.colorset/Contents.json new file mode 100644 index 00000000..4d418ad5 --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/maincolor.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.502", + "green" : "0.827", + "red" : "0.059" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/orange1.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/orange1.colorset/Contents.json new file mode 100644 index 00000000..7bd1f4aa --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/orange1.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.718", + "green" : "0.796", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/orange2.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/orange2.colorset/Contents.json new file mode 100644 index 00000000..eebc5c9a --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/orange2.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.400", + "green" : "0.573", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Color.xcassets/orange3.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/orange3.colorset/Contents.json new file mode 100644 index 00000000..7f42093a --- /dev/null +++ b/KkuMulKum/Resource/Color.xcassets/orange3.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.290", + "green" : "0.545", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Extension/NSAttributedString+.swift b/KkuMulKum/Resource/Extension/NSAttributedString+.swift new file mode 100644 index 00000000..725c422c --- /dev/null +++ b/KkuMulKum/Resource/Extension/NSAttributedString+.swift @@ -0,0 +1,26 @@ +// +// NSAttributedString+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension NSAttributedString { + static func pretendardString( + _ text: String = "", + style: UIFont.Pretendard + ) -> NSAttributedString { + let paragraphStyle = NSMutableParagraphStyle() + paragraphStyle.paragraphSpacing = style.leading + + let attributes: [NSAttributedString.Key: Any] = [ + .paragraphStyle: paragraphStyle, + .font: UIFont.pretendard(style), + .kern: style.tracking + ] + + return NSAttributedString(string: text, attributes: attributes) + } +} diff --git a/KkuMulKum/Resource/Extension/UIButton+.swift b/KkuMulKum/Resource/Extension/UIButton+.swift new file mode 100644 index 00000000..2d2492fa --- /dev/null +++ b/KkuMulKum/Resource/Extension/UIButton+.swift @@ -0,0 +1,31 @@ +// +// UIButton+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UIButton { + func setTitle(_ title: String, style: UIFont.Pretendard, color: UIColor) { + setAttributedTitle(.pretendardString(title, style: style), for: .normal) + setTitleColor(color, for: .normal) + } + + func setLayer(borderWidth: CGFloat = 0, borderColor: UIColor, cornerRadius: CGFloat) { + layer.borderColor = borderColor.cgColor + layer.cornerRadius = cornerRadius + layer.borderWidth = borderWidth + } + + func addUnderline() { + let attributedString = NSMutableAttributedString(string: self.titleLabel?.text ?? "") + attributedString.addAttribute( + .underlineStyle, + value: NSUnderlineStyle.single.rawValue, + range: NSRange(location: 0, length: attributedString.length) + ) + setAttributedTitle(attributedString, for: .normal) + } +} diff --git a/KkuMulKum/Resource/Extension/UIFont+.swift b/KkuMulKum/Resource/Extension/UIFont+.swift new file mode 100644 index 00000000..d26f4fd5 --- /dev/null +++ b/KkuMulKum/Resource/Extension/UIFont+.swift @@ -0,0 +1,45 @@ +// +// UIFont+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UIFont { + static func pretendard(_ style: Pretendard) -> UIFont { + return UIFont(name: style.weight, size: style.size) ?? .systemFont(ofSize: style.size) + } + + enum Pretendard { + case title01, title02 + case head01, head02 + case body01, body02, body03, body04, body05, body06 + case caption01, caption02 + case label01, label02 + + var weight: String { + switch self { + case .title01, .head01, .body01, .body03, .body05, .caption01, .label01: "Pretendard-SemiBold" + case .title02, .head02, .body02, .body04, .body06, .caption02, .label02: "Pretendard-Regular" + } + } + + var size: CGFloat { + switch self { + case .title01, .title02: 24 + case .head01, .head02: 22 + case .body01, .body02: 18 + case .body03, .body04: 16 + case .body05, .body06: 14 + case .caption01, .caption02: 12 + case .label01, .label02: 10 + } + } + + var tracking: CGFloat { CGFloat(-2) / 100 * size } + + var leading: CGFloat { (1.6 - 1) * size } + } +} diff --git a/KkuMulKum/Resource/Extension/UILabel+.swift b/KkuMulKum/Resource/Extension/UILabel+.swift new file mode 100644 index 00000000..057b5bfb --- /dev/null +++ b/KkuMulKum/Resource/Extension/UILabel+.swift @@ -0,0 +1,37 @@ +// +// UILabel+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UILabel { + func setText(_ text: String, style: UIFont.Pretendard, color: UIColor) { + attributedText = .pretendardString(text, style: style) + textColor = color + numberOfLines = 0 + } + + func setHighlightText(_ words: String..., style: UIFont.Pretendard, color: UIColor? = nil) { + guard let currentText = attributedText?.string else { return } + let mutableAttributedString = NSMutableAttributedString( + attributedString: attributedText ?? NSAttributedString() + ) + let textColor = textColor ?? .black + + for word in words { + let range = (currentText as NSString).range(of: word) + + if range.location != NSNotFound { + let highlightedAttributes: [NSAttributedString.Key: Any] = [ + .font: UIFont.pretendard(style), + .foregroundColor: color ?? textColor + ] + mutableAttributedString.addAttributes(highlightedAttributes, range: range) + attributedText = mutableAttributedString + } + } + } +} diff --git a/KkuMulKum/Resource/Extension/UIStackView+.swift b/KkuMulKum/Resource/Extension/UIStackView+.swift new file mode 100644 index 00000000..2a3f3baa --- /dev/null +++ b/KkuMulKum/Resource/Extension/UIStackView+.swift @@ -0,0 +1,21 @@ +// +// UIStackView+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UIStackView { + convenience init(axis: NSLayoutConstraint.Axis) { + self.init(frame: .zero) + self.axis = axis + } + + func addArrangedSubviews(_ views: UIView...) { + views.forEach { + self.addArrangedSubview($0) + } + } +} diff --git a/KkuMulKum/Resource/Extension/UITextField+.swift b/KkuMulKum/Resource/Extension/UITextField+.swift new file mode 100644 index 00000000..f7a51af5 --- /dev/null +++ b/KkuMulKum/Resource/Extension/UITextField+.swift @@ -0,0 +1,52 @@ +// +// UITextField+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UITextField { + func addPadding(left: CGFloat? = nil, right: CGFloat? = nil) { + if let left { + leftView = UIView(frame: CGRect(x: 0, y: 0, width: left, height: 0)) + leftViewMode = .always + } + + if let right { + rightView = UIView(frame: CGRect(x: 0, y: 0, width: right, height: 0)) + rightViewMode = .always + } + } + + func setText( + placeholder: String, + textColor: UIColor, + backgroundColor: UIColor, + placeholderColor: UIColor, + style: UIFont.Pretendard + ) { + self.textColor = textColor + self.backgroundColor = backgroundColor + attributedPlaceholder = NSAttributedString( + string: placeholder, + attributes: [.foregroundColor: placeholderColor, .font: style, .kern: style.tracking] + ) + self.attributedText = .pretendardString(style: style) + } + + func setAutoType( + autocapitalizationType: UITextAutocapitalizationType = .none, + autocorrectionType: UITextAutocorrectionType = .no + ) { + self.autocapitalizationType = autocapitalizationType + self.autocorrectionType = autocorrectionType + } + + func setLayer(borderWidth: CGFloat = 0, borderColor: UIColor, cornerRadius: CGFloat) { + layer.borderColor = borderColor.cgColor + layer.cornerRadius = cornerRadius + layer.borderWidth = borderWidth + } +} diff --git a/KkuMulKum/Resource/Extension/UIView+.swift b/KkuMulKum/Resource/Extension/UIView+.swift new file mode 100644 index 00000000..46deccd1 --- /dev/null +++ b/KkuMulKum/Resource/Extension/UIView+.swift @@ -0,0 +1,27 @@ +// +// UIView+.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +extension UIView { + convenience init(backgroundColor: UIColor) { + self.init(frame: .zero) + self.backgroundColor = backgroundColor + } + + func addSubviews(_ views: UIView...) { + views.forEach { + addSubview($0) + } + } + + func roundCorners(cornerRadius: CGFloat, maskedCorners: CACornerMask) { + clipsToBounds = true + layer.cornerRadius = cornerRadius + layer.maskedCorners = CACornerMask(arrayLiteral: maskedCorners) + } +} diff --git a/KkuMulKum/Resource/Font/Pretendard-Black.otf b/KkuMulKum/Resource/Font/Pretendard-Black.otf new file mode 100644 index 00000000..a0d849e7 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Black.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-Bold.otf b/KkuMulKum/Resource/Font/Pretendard-Bold.otf new file mode 100644 index 00000000..8e5e30a2 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Bold.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-ExtraBold.otf b/KkuMulKum/Resource/Font/Pretendard-ExtraBold.otf new file mode 100644 index 00000000..388f3ca4 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-ExtraBold.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-ExtraLight.otf b/KkuMulKum/Resource/Font/Pretendard-ExtraLight.otf new file mode 100644 index 00000000..40c8b69c Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-ExtraLight.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-Light.otf b/KkuMulKum/Resource/Font/Pretendard-Light.otf new file mode 100644 index 00000000..228679e9 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Light.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-Medium.otf b/KkuMulKum/Resource/Font/Pretendard-Medium.otf new file mode 100644 index 00000000..05750698 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Medium.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-Regular.otf b/KkuMulKum/Resource/Font/Pretendard-Regular.otf new file mode 100644 index 00000000..08bf4cfc Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Regular.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-SemiBold.otf b/KkuMulKum/Resource/Font/Pretendard-SemiBold.otf new file mode 100644 index 00000000..e7e36abc Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-SemiBold.otf differ diff --git a/KkuMulKum/Resource/Font/Pretendard-Thin.otf b/KkuMulKum/Resource/Font/Pretendard-Thin.otf new file mode 100644 index 00000000..77e792d7 Binary files /dev/null and b/KkuMulKum/Resource/Font/Pretendard-Thin.otf differ diff --git a/KkuMulKum/Info.plist b/KkuMulKum/Resource/Info.plist similarity index 60% rename from KkuMulKum/Info.plist rename to KkuMulKum/Resource/Info.plist index 0eb786dc..54a3c5e2 100644 --- a/KkuMulKum/Info.plist +++ b/KkuMulKum/Resource/Info.plist @@ -2,6 +2,18 @@ + UIAppFonts + + Pretendard-Black.otf + Pretendard-Bold.otf + Pretendard-ExtraBold.otf + Pretendard-ExtraLight.otf + Pretendard-Light.otf + Pretendard-Medium.otf + Pretendard-Regular.otf + Pretendard-SemiBold.otf + Pretendard-Thin.otf + UIApplicationSceneManifest UIApplicationSupportsMultipleScenes diff --git a/KkuMulKum/Resource/Util/ReuseIdentifiable.swift b/KkuMulKum/Resource/Util/ReuseIdentifiable.swift new file mode 100644 index 00000000..8c261e99 --- /dev/null +++ b/KkuMulKum/Resource/Util/ReuseIdentifiable.swift @@ -0,0 +1,14 @@ +// +// ReuseIdentifiable.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import Foundation + +protocol ReuseIdentifiable {} + +extension ReuseIdentifiable { + static var reuseIdentifier: String { String(describing: self) } +} diff --git a/KkuMulKum/Resource/Util/Screen.swift b/KkuMulKum/Resource/Util/Screen.swift new file mode 100644 index 00000000..a0e4b9b6 --- /dev/null +++ b/KkuMulKum/Resource/Util/Screen.swift @@ -0,0 +1,22 @@ +// +// Screen.swift +// KkuMulKum +// +// Created by 김진웅 on 6/30/24. +// + +import UIKit + +enum Screen { + static func width(_ value: CGFloat) -> CGFloat { + let screenWidth = UIScreen.main.bounds.width + let designWidth: CGFloat = 375.0 + return screenWidth / designWidth * value + } + + static func height(_ value: CGFloat) -> CGFloat { + let screenHeight = UIScreen.main.bounds.height + let designHeight: CGFloat = 812.0 + return screenHeight / designHeight * value + } +} diff --git a/KkuMulKum/SceneDelegate.swift b/KkuMulKum/SceneDelegate.swift deleted file mode 100644 index 169be59e..00000000 --- a/KkuMulKum/SceneDelegate.swift +++ /dev/null @@ -1,54 +0,0 @@ -// -// SceneDelegate.swift -// KkuMulKum -// -// Created by 이지훈 on 6/24/24. -// - -import UIKit - -class SceneDelegate: UIResponder, UIWindowSceneDelegate { - - var window: UIWindow? - - - func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { - - guard let windowScene = (scene as? UIWindowScene) else { return } - self.window = UIWindow(windowScene: windowScene) - let navigationController = UINavigationController(rootViewController: ViewController()) - self.window?.rootViewController = navigationController - self.window?.makeKeyAndVisible() - } - - func sceneDidDisconnect(_ scene: UIScene) { - // Called as the scene is being released by the system. - // This occurs shortly after the scene enters the background, or when its session is discarded. - // Release any resources associated with this scene that can be re-created the next time the scene connects. - // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). - } - - func sceneDidBecomeActive(_ scene: UIScene) { - // Called when the scene has moved from an inactive state to an active state. - // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. - } - - func sceneWillResignActive(_ scene: UIScene) { - // Called when the scene will move from an active state to an inactive state. - // This may occur due to temporary interruptions (ex. an incoming phone call). - } - - func sceneWillEnterForeground(_ scene: UIScene) { - // Called as the scene transitions from the background to the foreground. - // Use this method to undo the changes made on entering the background. - } - - func sceneDidEnterBackground(_ scene: UIScene) { - // Called as the scene transitions from the foreground to the background. - // Use this method to save data, release shared resources, and store enough scene-specific state information - // to restore the scene back to its current state. - } - - -} - diff --git a/KkuMulKum/ViewController.swift b/KkuMulKum/Source/ViewController.swift similarity index 81% rename from KkuMulKum/ViewController.swift rename to KkuMulKum/Source/ViewController.swift index badf2721..237e333c 100644 --- a/KkuMulKum/ViewController.swift +++ b/KkuMulKum/Source/ViewController.swift @@ -8,14 +8,9 @@ import UIKit class ViewController: UIViewController { - override func viewDidLoad() { super.viewDidLoad() - view.backgroundColor = .yellow - + view.backgroundColor = .systemBackground } - - } -