├── LogoReveal.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── LogoReveal.xccheckout │ └── xcuserdata │ │ ├── loveyyn.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ └── marin.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ ├── loveyyn.xcuserdatad │ └── xcschemes │ │ ├── LogoReveal.xcscheme │ │ └── xcschememanagement.plist │ └── marin.xcuserdatad │ └── xcschemes │ ├── LogoReveal.xcscheme │ └── xcschememanagement.plist ├── LogoReveal ├── AppDelegate.swift ├── Base.lproj │ ├── LaunchScreen.xib │ └── Main.storyboard ├── DetailViewController.swift ├── Images.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-29@2x.png │ │ ├── Icon-29@3x.png │ │ ├── Icon-40@3x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ └── Path 13 + Path 12.png │ ├── summericons_100px_00.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_00@2x.png │ │ └── summericons_100px_00@3x.png │ ├── summericons_100px_01.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_01@2x.png │ │ └── summericons_100px_01@3x.png │ ├── summericons_100px_02.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_02@2x.png │ │ └── summericons_100px_02@3x.png │ ├── summericons_100px_03.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_03@2x.png │ │ └── summericons_100px_03@3x.png │ ├── summericons_100px_04.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_04@2x.png │ │ └── summericons_100px_04@3x.png │ ├── summericons_100px_05.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_05@2x.png │ │ └── summericons_100px_05@3x.png │ ├── summericons_100px_06.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_06@2x.png │ │ └── summericons_100px_06@3x.png │ ├── summericons_100px_07.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_07@2x.png │ │ └── summericons_100px_07@3x.png │ ├── summericons_100px_08.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_08@2x.png │ │ └── summericons_100px_08@3x.png │ └── summericons_100px_09.imageset │ │ ├── Contents.json │ │ ├── summericons_100px_09@2x.png │ │ └── summericons_100px_09@3x.png ├── Info.plist ├── MasterViewController.swift └── SwiftLogoLayer.swift └── README.md /LogoReveal.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 9C967C5E1A4F1B6C00A588A2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C967C5D1A4F1B6C00A588A2 /* AppDelegate.swift */; }; 11 | 9C967C601A4F1B6C00A588A2 /* MasterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C967C5F1A4F1B6C00A588A2 /* MasterViewController.swift */; }; 12 | 9C967C621A4F1B6C00A588A2 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C967C611A4F1B6C00A588A2 /* DetailViewController.swift */; }; 13 | 9C967C651A4F1B6C00A588A2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C967C631A4F1B6C00A588A2 /* Main.storyboard */; }; 14 | 9C967C671A4F1B6C00A588A2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9C967C661A4F1B6C00A588A2 /* Images.xcassets */; }; 15 | 9C967C6A1A4F1B6C00A588A2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C967C681A4F1B6C00A588A2 /* LaunchScreen.xib */; }; 16 | 9C967C821A4F1F6100A588A2 /* SwiftLogoLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C967C801A4F1F6100A588A2 /* SwiftLogoLayer.swift */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXFileReference section */ 20 | 9C967C581A4F1B6C00A588A2 /* LogoReveal.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LogoReveal.app; sourceTree = BUILT_PRODUCTS_DIR; }; 21 | 9C967C5C1A4F1B6C00A588A2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 22 | 9C967C5D1A4F1B6C00A588A2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 23 | 9C967C5F1A4F1B6C00A588A2 /* MasterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterViewController.swift; sourceTree = ""; }; 24 | 9C967C611A4F1B6C00A588A2 /* DetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailViewController.swift; sourceTree = ""; }; 25 | 9C967C641A4F1B6C00A588A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 26 | 9C967C661A4F1B6C00A588A2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 27 | 9C967C691A4F1B6C00A588A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 28 | 9C967C801A4F1F6100A588A2 /* SwiftLogoLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftLogoLayer.swift; sourceTree = ""; }; 29 | /* End PBXFileReference section */ 30 | 31 | /* Begin PBXFrameworksBuildPhase section */ 32 | 9C967C551A4F1B6C00A588A2 /* Frameworks */ = { 33 | isa = PBXFrameworksBuildPhase; 34 | buildActionMask = 2147483647; 35 | files = ( 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | 9C967C4F1A4F1B6C00A588A2 = { 43 | isa = PBXGroup; 44 | children = ( 45 | 9C967C5A1A4F1B6C00A588A2 /* LogoReveal */, 46 | 9C967C591A4F1B6C00A588A2 /* Products */, 47 | ); 48 | sourceTree = ""; 49 | }; 50 | 9C967C591A4F1B6C00A588A2 /* Products */ = { 51 | isa = PBXGroup; 52 | children = ( 53 | 9C967C581A4F1B6C00A588A2 /* LogoReveal.app */, 54 | ); 55 | name = Products; 56 | sourceTree = ""; 57 | }; 58 | 9C967C5A1A4F1B6C00A588A2 /* LogoReveal */ = { 59 | isa = PBXGroup; 60 | children = ( 61 | 9C967C5F1A4F1B6C00A588A2 /* MasterViewController.swift */, 62 | 9C967C611A4F1B6C00A588A2 /* DetailViewController.swift */, 63 | 9C967C801A4F1F6100A588A2 /* SwiftLogoLayer.swift */, 64 | 9C967C5D1A4F1B6C00A588A2 /* AppDelegate.swift */, 65 | 9C967C631A4F1B6C00A588A2 /* Main.storyboard */, 66 | 9C967C661A4F1B6C00A588A2 /* Images.xcassets */, 67 | 9C967C681A4F1B6C00A588A2 /* LaunchScreen.xib */, 68 | 9C967C5B1A4F1B6C00A588A2 /* Supporting Files */, 69 | ); 70 | path = LogoReveal; 71 | sourceTree = ""; 72 | }; 73 | 9C967C5B1A4F1B6C00A588A2 /* Supporting Files */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 9C967C5C1A4F1B6C00A588A2 /* Info.plist */, 77 | ); 78 | name = "Supporting Files"; 79 | sourceTree = ""; 80 | }; 81 | /* End PBXGroup section */ 82 | 83 | /* Begin PBXNativeTarget section */ 84 | 9C967C571A4F1B6C00A588A2 /* LogoReveal */ = { 85 | isa = PBXNativeTarget; 86 | buildConfigurationList = 9C967C791A4F1B6C00A588A2 /* Build configuration list for PBXNativeTarget "LogoReveal" */; 87 | buildPhases = ( 88 | 9C967C541A4F1B6C00A588A2 /* Sources */, 89 | 9C967C551A4F1B6C00A588A2 /* Frameworks */, 90 | 9C967C561A4F1B6C00A588A2 /* Resources */, 91 | ); 92 | buildRules = ( 93 | ); 94 | dependencies = ( 95 | ); 96 | name = LogoReveal; 97 | productName = LogoReveal; 98 | productReference = 9C967C581A4F1B6C00A588A2 /* LogoReveal.app */; 99 | productType = "com.apple.product-type.application"; 100 | }; 101 | /* End PBXNativeTarget section */ 102 | 103 | /* Begin PBXProject section */ 104 | 9C967C501A4F1B6C00A588A2 /* Project object */ = { 105 | isa = PBXProject; 106 | attributes = { 107 | LastSwiftUpdateCheck = 0700; 108 | LastUpgradeCheck = 0610; 109 | ORGANIZATIONNAME = "Razeware LLC"; 110 | TargetAttributes = { 111 | 9C967C571A4F1B6C00A588A2 = { 112 | CreatedOnToolsVersion = 6.1.1; 113 | }; 114 | }; 115 | }; 116 | buildConfigurationList = 9C967C531A4F1B6C00A588A2 /* Build configuration list for PBXProject "LogoReveal" */; 117 | compatibilityVersion = "Xcode 3.2"; 118 | developmentRegion = English; 119 | hasScannedForEncodings = 0; 120 | knownRegions = ( 121 | en, 122 | Base, 123 | ); 124 | mainGroup = 9C967C4F1A4F1B6C00A588A2; 125 | productRefGroup = 9C967C591A4F1B6C00A588A2 /* Products */; 126 | projectDirPath = ""; 127 | projectRoot = ""; 128 | targets = ( 129 | 9C967C571A4F1B6C00A588A2 /* LogoReveal */, 130 | ); 131 | }; 132 | /* End PBXProject section */ 133 | 134 | /* Begin PBXResourcesBuildPhase section */ 135 | 9C967C561A4F1B6C00A588A2 /* Resources */ = { 136 | isa = PBXResourcesBuildPhase; 137 | buildActionMask = 2147483647; 138 | files = ( 139 | 9C967C651A4F1B6C00A588A2 /* Main.storyboard in Resources */, 140 | 9C967C6A1A4F1B6C00A588A2 /* LaunchScreen.xib in Resources */, 141 | 9C967C671A4F1B6C00A588A2 /* Images.xcassets in Resources */, 142 | ); 143 | runOnlyForDeploymentPostprocessing = 0; 144 | }; 145 | /* End PBXResourcesBuildPhase section */ 146 | 147 | /* Begin PBXSourcesBuildPhase section */ 148 | 9C967C541A4F1B6C00A588A2 /* Sources */ = { 149 | isa = PBXSourcesBuildPhase; 150 | buildActionMask = 2147483647; 151 | files = ( 152 | 9C967C821A4F1F6100A588A2 /* SwiftLogoLayer.swift in Sources */, 153 | 9C967C621A4F1B6C00A588A2 /* DetailViewController.swift in Sources */, 154 | 9C967C601A4F1B6C00A588A2 /* MasterViewController.swift in Sources */, 155 | 9C967C5E1A4F1B6C00A588A2 /* AppDelegate.swift in Sources */, 156 | ); 157 | runOnlyForDeploymentPostprocessing = 0; 158 | }; 159 | /* End PBXSourcesBuildPhase section */ 160 | 161 | /* Begin PBXVariantGroup section */ 162 | 9C967C631A4F1B6C00A588A2 /* Main.storyboard */ = { 163 | isa = PBXVariantGroup; 164 | children = ( 165 | 9C967C641A4F1B6C00A588A2 /* Base */, 166 | ); 167 | name = Main.storyboard; 168 | sourceTree = ""; 169 | }; 170 | 9C967C681A4F1B6C00A588A2 /* LaunchScreen.xib */ = { 171 | isa = PBXVariantGroup; 172 | children = ( 173 | 9C967C691A4F1B6C00A588A2 /* Base */, 174 | ); 175 | name = LaunchScreen.xib; 176 | sourceTree = ""; 177 | }; 178 | /* End PBXVariantGroup section */ 179 | 180 | /* Begin XCBuildConfiguration section */ 181 | 9C967C771A4F1B6C00A588A2 /* Debug */ = { 182 | isa = XCBuildConfiguration; 183 | buildSettings = { 184 | ALWAYS_SEARCH_USER_PATHS = NO; 185 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 186 | CLANG_CXX_LIBRARY = "libc++"; 187 | CLANG_ENABLE_MODULES = YES; 188 | CLANG_ENABLE_OBJC_ARC = YES; 189 | CLANG_WARN_BOOL_CONVERSION = YES; 190 | CLANG_WARN_CONSTANT_CONVERSION = YES; 191 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 192 | CLANG_WARN_EMPTY_BODY = YES; 193 | CLANG_WARN_ENUM_CONVERSION = YES; 194 | CLANG_WARN_INT_CONVERSION = YES; 195 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 196 | CLANG_WARN_UNREACHABLE_CODE = YES; 197 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 198 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 199 | COPY_PHASE_STRIP = NO; 200 | ENABLE_STRICT_OBJC_MSGSEND = YES; 201 | GCC_C_LANGUAGE_STANDARD = gnu99; 202 | GCC_DYNAMIC_NO_PIC = NO; 203 | GCC_OPTIMIZATION_LEVEL = 0; 204 | GCC_PREPROCESSOR_DEFINITIONS = ( 205 | "DEBUG=1", 206 | "$(inherited)", 207 | ); 208 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 209 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 210 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 211 | GCC_WARN_UNDECLARED_SELECTOR = YES; 212 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 213 | GCC_WARN_UNUSED_FUNCTION = YES; 214 | GCC_WARN_UNUSED_VARIABLE = YES; 215 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 216 | MTL_ENABLE_DEBUG_INFO = YES; 217 | ONLY_ACTIVE_ARCH = YES; 218 | SDKROOT = iphoneos; 219 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 220 | }; 221 | name = Debug; 222 | }; 223 | 9C967C781A4F1B6C00A588A2 /* Release */ = { 224 | isa = XCBuildConfiguration; 225 | buildSettings = { 226 | ALWAYS_SEARCH_USER_PATHS = NO; 227 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 228 | CLANG_CXX_LIBRARY = "libc++"; 229 | CLANG_ENABLE_MODULES = YES; 230 | CLANG_ENABLE_OBJC_ARC = YES; 231 | CLANG_WARN_BOOL_CONVERSION = YES; 232 | CLANG_WARN_CONSTANT_CONVERSION = YES; 233 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 234 | CLANG_WARN_EMPTY_BODY = YES; 235 | CLANG_WARN_ENUM_CONVERSION = YES; 236 | CLANG_WARN_INT_CONVERSION = YES; 237 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 238 | CLANG_WARN_UNREACHABLE_CODE = YES; 239 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 240 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 241 | COPY_PHASE_STRIP = YES; 242 | ENABLE_NS_ASSERTIONS = NO; 243 | ENABLE_STRICT_OBJC_MSGSEND = YES; 244 | GCC_C_LANGUAGE_STANDARD = gnu99; 245 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 246 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 247 | GCC_WARN_UNDECLARED_SELECTOR = YES; 248 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 249 | GCC_WARN_UNUSED_FUNCTION = YES; 250 | GCC_WARN_UNUSED_VARIABLE = YES; 251 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 252 | MTL_ENABLE_DEBUG_INFO = NO; 253 | SDKROOT = iphoneos; 254 | VALIDATE_PRODUCT = YES; 255 | }; 256 | name = Release; 257 | }; 258 | 9C967C7A1A4F1B6C00A588A2 /* Debug */ = { 259 | isa = XCBuildConfiguration; 260 | buildSettings = { 261 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 262 | INFOPLIST_FILE = LogoReveal/Info.plist; 263 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 264 | PRODUCT_NAME = "$(TARGET_NAME)"; 265 | }; 266 | name = Debug; 267 | }; 268 | 9C967C7B1A4F1B6C00A588A2 /* Release */ = { 269 | isa = XCBuildConfiguration; 270 | buildSettings = { 271 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 272 | INFOPLIST_FILE = LogoReveal/Info.plist; 273 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 274 | PRODUCT_NAME = "$(TARGET_NAME)"; 275 | }; 276 | name = Release; 277 | }; 278 | /* End XCBuildConfiguration section */ 279 | 280 | /* Begin XCConfigurationList section */ 281 | 9C967C531A4F1B6C00A588A2 /* Build configuration list for PBXProject "LogoReveal" */ = { 282 | isa = XCConfigurationList; 283 | buildConfigurations = ( 284 | 9C967C771A4F1B6C00A588A2 /* Debug */, 285 | 9C967C781A4F1B6C00A588A2 /* Release */, 286 | ); 287 | defaultConfigurationIsVisible = 0; 288 | defaultConfigurationName = Release; 289 | }; 290 | 9C967C791A4F1B6C00A588A2 /* Build configuration list for PBXNativeTarget "LogoReveal" */ = { 291 | isa = XCConfigurationList; 292 | buildConfigurations = ( 293 | 9C967C7A1A4F1B6C00A588A2 /* Debug */, 294 | 9C967C7B1A4F1B6C00A588A2 /* Release */, 295 | ); 296 | defaultConfigurationIsVisible = 0; 297 | defaultConfigurationName = Release; 298 | }; 299 | /* End XCConfigurationList section */ 300 | }; 301 | rootObject = 9C967C501A4F1B6C00A588A2 /* Project object */; 302 | } 303 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/project.xcworkspace/xcshareddata/LogoReveal.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | DFBF0390-6E36-4992-8B4D-0E320AAC613D 9 | IDESourceControlProjectName 10 | LogoReveal 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 45423455-d734-84c4-dd59-ce57b7db7bff 14 | https://github.com/ShyHornet/LogoReveal.git 15 | 16 | IDESourceControlProjectPath 17 | branches/start/LogoReveal.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 45423455-d734-84c4-dd59-ce57b7db7bff 21 | ../../../.. 22 | 23 | IDESourceControlProjectVersion 24 | 111 25 | IDESourceControlProjectWCCIdentifier 26 | 45423455-d734-84c4-dd59-ce57b7db7bff 27 | IDESourceControlProjectWCConfigurations 28 | 29 | 30 | IDESourceControlRepositoryExtensionIdentifierKey 31 | public.vcs.subversion 32 | IDESourceControlWCCIdentifierKey 33 | 45423455-d734-84c4-dd59-ce57b7db7bff 34 | IDESourceControlWCCName 35 | LogoReveal.git 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/project.xcworkspace/xcuserdata/loveyyn.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal.xcodeproj/project.xcworkspace/xcuserdata/loveyyn.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/project.xcworkspace/xcuserdata/marin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal.xcodeproj/project.xcworkspace/xcuserdata/marin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/xcuserdata/loveyyn.xcuserdatad/xcschemes/LogoReveal.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/xcuserdata/loveyyn.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LogoReveal.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 9C967C571A4F1B6C00A588A2 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/xcuserdata/marin.xcuserdatad/xcschemes/LogoReveal.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 75 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 93 | 94 | 100 | 101 | 102 | 103 | 105 | 106 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /LogoReveal.xcodeproj/xcuserdata/marin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LogoReveal.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 9C967C571A4F1B6C00A588A2 16 | 17 | primary 18 | 19 | 20 | 9C967C6E1A4F1B6C00A588A2 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /LogoReveal/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | 2 | import UIKit 3 | 4 | @UIApplicationMain 5 | class AppDelegate: UIResponder, UIApplicationDelegate { 6 | 7 | var window: UIWindow? 8 | 9 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 10 | // Override point for customization after application launch. 11 | return true 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /LogoReveal/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /LogoReveal/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /LogoReveal/DetailViewController.swift: -------------------------------------------------------------------------------- 1 | 2 | 3 | import UIKit 4 | import QuartzCore 5 | 6 | class DetailViewController: UITableViewController, UINavigationControllerDelegate { 7 | 8 | let maskLayer: CAShapeLayer = SwiftLogoLayer.logoLayer() 9 | 10 | override func viewDidLoad() { 11 | super.viewDidLoad() 12 | 13 | 14 | title = "Pack List" 15 | tableView.rowHeight = 54.0 16 | 17 | } 18 | 19 | override func viewDidAppear(animated: Bool) { 20 | super.viewDidAppear(animated) 21 | view.layer.mask = nil 22 | 23 | 24 | } 25 | 26 | 27 | let packItems = ["Icecream money", "Great weather", "Beach ball", "Swim suit for him", "Swim suit for her", "Beach games", "Ironing board", "Cocktail mood", "Sunglasses", "Flip flops"] 28 | 29 | override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 30 | return 1 31 | } 32 | 33 | override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 34 | return 10 35 | } 36 | 37 | override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 38 | let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell 39 | cell.accessoryType = .None 40 | cell.textLabel!.text = packItems[indexPath.row] 41 | cell.imageView!.image = UIImage(named: "summericons_100px_0\(indexPath.row).png") 42 | return cell 43 | } 44 | 45 | override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 46 | tableView.deselectRowAtIndexPath(indexPath, animated: true) 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "29x29", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-29@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "29x29", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-29@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "40x40", 17 | "idiom" : "iphone", 18 | "filename" : "Path 13 + Path 12.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "40x40", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-40@3x.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "60x60", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-60@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "60x60", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-60@3x.png", 37 | "scale" : "3x" 38 | } 39 | ], 40 | "info" : { 41 | "version" : 1, 42 | "author" : "xcode" 43 | } 44 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/AppIcon.appiconset/Path 13 + Path 12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/AppIcon.appiconset/Path 13 + Path 12.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_00.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_00@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_00@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_00.imageset/summericons_100px_00@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_00.imageset/summericons_100px_00@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_00.imageset/summericons_100px_00@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_00.imageset/summericons_100px_00@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_01@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_01@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_01.imageset/summericons_100px_01@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_01.imageset/summericons_100px_01@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_01.imageset/summericons_100px_01@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_01.imageset/summericons_100px_01@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_02.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_02@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_02@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_02.imageset/summericons_100px_02@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_02.imageset/summericons_100px_02@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_02.imageset/summericons_100px_02@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_02.imageset/summericons_100px_02@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_03.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_03@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_03@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_03.imageset/summericons_100px_03@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_03.imageset/summericons_100px_03@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_03.imageset/summericons_100px_03@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_03.imageset/summericons_100px_03@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_04.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_04@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_04@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_04.imageset/summericons_100px_04@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_04.imageset/summericons_100px_04@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_04.imageset/summericons_100px_04@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_04.imageset/summericons_100px_04@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_05.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_05@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_05@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_05.imageset/summericons_100px_05@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_05.imageset/summericons_100px_05@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_05.imageset/summericons_100px_05@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_05.imageset/summericons_100px_05@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_06.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_06@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_06@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_06.imageset/summericons_100px_06@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_06.imageset/summericons_100px_06@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_06.imageset/summericons_100px_06@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_06.imageset/summericons_100px_06@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_07.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_07@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_07@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_07.imageset/summericons_100px_07@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_07.imageset/summericons_100px_07@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_07.imageset/summericons_100px_07@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_07.imageset/summericons_100px_07@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_08.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_08@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_08@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_08.imageset/summericons_100px_08@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_08.imageset/summericons_100px_08@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_08.imageset/summericons_100px_08@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_08.imageset/summericons_100px_08@3x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_09.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "summericons_100px_09@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x", 15 | "filename" : "summericons_100px_09@3x.png" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_09.imageset/summericons_100px_09@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_09.imageset/summericons_100px_09@2x.png -------------------------------------------------------------------------------- /LogoReveal/Images.xcassets/summericons_100px_09.imageset/summericons_100px_09@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShyHornet/LogoReveal/d343b2acf955714b92597e2bee46ea17cbbe5a3c/LogoReveal/Images.xcassets/summericons_100px_09.imageset/summericons_100px_09@3x.png -------------------------------------------------------------------------------- /LogoReveal/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.hjw$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UIStatusBarTintParameters 34 | 35 | UINavigationBar 36 | 37 | Style 38 | UIBarStyleDefault 39 | Translucent 40 | 41 | 42 | 43 | UISupportedInterfaceOrientations 44 | 45 | UIInterfaceOrientationPortrait 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /LogoReveal/MasterViewController.swift: -------------------------------------------------------------------------------- 1 | 2 | 3 | import UIKit 4 | import QuartzCore 5 | 6 | 7 | 8 | class MasterViewController: UIViewController { 9 | 10 | let logo = SwiftLogoLayer.logoLayer() 11 | 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | title = "Start" 16 | 17 | } 18 | 19 | override func viewDidAppear(animated: Bool) { 20 | super.viewDidAppear(animated) 21 | 22 | //添加手势识别器 23 | let tap = UITapGestureRecognizer(target: self, action: Selector("didTap")) 24 | view.addGestureRecognizer(tap) 25 | 26 | //把swiftlogo添加到视图上 27 | logo.position = CGPoint(x: view.layer.bounds.size.width/2, 28 | y: view.layer.bounds.size.height/2+30) 29 | 30 | logo.fillColor = UIColor.whiteColor().CGColor 31 | view.layer.addSublayer(logo) 32 | } 33 | 34 | // 35 | // 手势识别器的触发方法 36 | // 37 | func didTap() { 38 | performSegueWithIdentifier("details", sender: nil) 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /LogoReveal/SwiftLogoLayer.swift: -------------------------------------------------------------------------------- 1 | 2 | import UIKit 3 | import QuartzCore 4 | 5 | class SwiftLogoLayer { 6 | 7 | // 8 | // 绘制swiftlogo 形状图层的方法 9 | // 10 | class func logoLayer() -> CAShapeLayer { 11 | let layer = CAShapeLayer() 12 | 13 | 14 | 15 | 16 | //绘制swiftlogo 17 | var bezierPath = UIBezierPath() 18 | bezierPath.moveToPoint(CGPointMake(96.14, 86.59)) 19 | bezierPath.addCurveToPoint(CGPointMake(56.82, 94.83), controlPoint1: CGPointMake(81.83, 85.02), controlPoint2: CGPointMake(87.1, 95.75)) 20 | bezierPath.addCurveToPoint(CGPointMake(20.01, 79.31), controlPoint1: CGPointMake(42.17, 94.39), controlPoint2: CGPointMake(29.06, 87.05)) 21 | bezierPath.addCurveToPoint(CGPointMake(5.25, 62.38), controlPoint1: CGPointMake(10.35, 71.06), controlPoint2: CGPointMake(5.25, 62.38)) 22 | bezierPath.addCurveToPoint(CGPointMake(35.2, 74.85), controlPoint1: CGPointMake(5.25, 62.38), controlPoint2: CGPointMake(17.28, 72.33)) 23 | bezierPath.addCurveToPoint(CGPointMake(64.02, 69.54), controlPoint1: CGPointMake(53.11, 77.37), controlPoint2: CGPointMake(64.02, 69.54)) 24 | bezierPath.addCurveToPoint(CGPointMake(37.43, 44.73), controlPoint1: CGPointMake(64.02, 69.54), controlPoint2: CGPointMake(49.91, 58.13)) 25 | bezierPath.addCurveToPoint(CGPointMake(14.97, 16.34), controlPoint1: CGPointMake(24.96, 31.34), controlPoint2: CGPointMake(14.97, 16.34)) 26 | bezierPath.addCurveToPoint(CGPointMake(40.56, 37.05), controlPoint1: CGPointMake(14.97, 16.34), controlPoint2: CGPointMake(31.85, 30.51)) 27 | bezierPath.addCurveToPoint(CGPointMake(56.82, 47.75), controlPoint1: CGPointMake(45.62, 40.86), controlPoint2: CGPointMake(56.82, 47.75)) 28 | bezierPath.addCurveToPoint(CGPointMake(43.08, 32.22), controlPoint1: CGPointMake(56.82, 47.75), controlPoint2: CGPointMake(47.12, 37.33)) 29 | bezierPath.addCurveToPoint(CGPointMake(27.99, 11.26), controlPoint1: CGPointMake(37.51, 25.17), controlPoint2: CGPointMake(27.99, 11.26)) 30 | bezierPath.addCurveToPoint(CGPointMake(55.05, 35.46), controlPoint1: CGPointMake(27.99, 11.26), controlPoint2: CGPointMake(45.04, 27.34)) 31 | bezierPath.addCurveToPoint(CGPointMake(78.26, 52.03), controlPoint1: CGPointMake(61.79, 40.93), controlPoint2: CGPointMake(78.26, 52.03)) 32 | bezierPath.addCurveToPoint(CGPointMake(80.71, 31.34), controlPoint1: CGPointMake(78.26, 52.03), controlPoint2: CGPointMake(81.63, 45.61)) 33 | bezierPath.addCurveToPoint(CGPointMake(69.08, 3), controlPoint1: CGPointMake(79.8, 17.06), controlPoint2: CGPointMake(69.08, 3)) 34 | bezierPath.addCurveToPoint(CGPointMake(97.29, 34.58), controlPoint1: CGPointMake(69.08, 3), controlPoint2: CGPointMake(89.12, 14.76)) 35 | bezierPath.addCurveToPoint(CGPointMake(100.25, 67.8), controlPoint1: CGPointMake(105.45, 54.4), controlPoint2: CGPointMake(100.25, 67.8)) 36 | bezierPath.addCurveToPoint(CGPointMake(107.29, 81.07), controlPoint1: CGPointMake(100.25, 67.8), controlPoint2: CGPointMake(104.47, 72.3)) 37 | bezierPath.addCurveToPoint(CGPointMake(107.96, 96.25), controlPoint1: CGPointMake(110.12, 89.84), controlPoint2: CGPointMake(107.96, 96.25)) 38 | bezierPath.addCurveToPoint(CGPointMake(96.14, 86.59), controlPoint1: CGPointMake(107.96, 96.25), controlPoint2: CGPointMake(105.27, 87.59)) 39 | bezierPath.closePath() 40 | 41 | //create a shape layer 42 | layer.path = bezierPath.CGPath 43 | layer.bounds = CGPathGetBoundingBox(layer.path) 44 | 45 | return layer 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LogoReveal 2 | --------------------------------------------------------------------------------