├── .gitignore ├── 1 The Layer Tree └── BlueLayer │ ├── BlueLayer.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ ├── BlueLayer │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m │ ├── BlueLayerTests │ ├── BlueLayerTests.m │ └── Info.plist │ └── BlueLayerUITests │ ├── BlueLayerUITests.m │ └── Info.plist ├── 2 The Backing Image ├── CALayerDelegate │ ├── CALayerDelegate.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CALayerDelegate │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── LayerContent │ ├── LayerContent.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ ├── LayerContent │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Snowman.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── Snowman.png │ │ │ │ └── Snowman@2x.png │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ ├── LayerContentTests │ │ ├── Info.plist │ │ └── LayerContentTests.m │ └── LayerContentUITests │ │ ├── Info.plist │ │ └── LayerContentUITests.m └── Sprite │ ├── Sprite.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── Sprite │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── Sprites.imageset │ │ ├── Contents.json │ │ ├── Sprites.png │ │ └── Sprites@2x.png │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 3 Layer Geometry ├── AnchorPoint │ ├── AnchorPoint.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AnchorPoint │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── Clock │ ├── Clock.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── Clock │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── ClockFace.imageset │ │ │ ├── ClockFace.png │ │ │ ├── ClockFace@2x.png │ │ │ └── Contents.json │ │ ├── Digits.imageset │ │ │ ├── Contents.json │ │ │ └── Digits.png │ │ ├── HourHand.imageset │ │ │ ├── Contents.json │ │ │ ├── HourHand.png │ │ │ └── HourHand@2x.png │ │ ├── MinuteHand.imageset │ │ │ ├── Contents.json │ │ │ ├── MinuteHand.png │ │ │ └── MinuteHand@2x.png │ │ └── SecondHand.imageset │ │ │ ├── Contents.json │ │ │ ├── SecondHand.png │ │ │ └── SecondHand@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── ContainsPoint │ ├── ContainsPoint.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── ContainsPoint │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── ContentsCenter │ ├── ContentsCenter.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── ContentsCenter │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── GreenBigBtn.imageset │ │ │ ├── Contents.json │ │ │ └── GreenBigBtn@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── ZPosition │ ├── ZPosition.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── ZPosition │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 4 Visual Effects ├── DropShadows │ ├── DropShadows.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── DropShadows │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── GroupOpacity │ ├── GroupOpacity.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── GroupOpacity │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── LCDClock │ ├── LCDClock.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── LCDClock │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Digits.imageset │ │ │ ├── Contents.json │ │ │ └── Digits.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── LayerMask │ ├── LayerMask.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── LayerMask │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Cone.imageset │ │ │ ├── Cone.png │ │ │ ├── Cone@2x.png │ │ │ └── Contents.json │ │ └── Igloo.imageset │ │ │ ├── Contents.json │ │ │ ├── Igloo.png │ │ │ └── Igloo@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── RoundedCorners │ ├── RoundedCorners.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── RoundedCorners │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── ShadowClipping │ ├── ShadowClipping.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── ShadowClipping │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── ShadowPath │ ├── ShadowPath.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── ShadowPath │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Cone.imageset │ │ ├── Cone.png │ │ ├── Cone@2x.png │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 5 Transforms ├── CompoundTransform │ ├── CompoundTransform.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CompoundTransform │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Snowman.imageset │ │ │ ├── Contents.json │ │ │ ├── Snowman.png │ │ │ └── Snowman@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── Cube │ ├── Cube.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── Cube │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── OppositeRoationAroundY │ ├── OppositeRoationAroundY.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── OppositeRoationAroundY │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── OppositeRotationAroundZ │ ├── OppositeRotationAroundZ.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── OppositeRotationAroundZ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── SublayerTransform │ ├── SublayerTransform.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── SublayerTransform │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Snowman.imageset │ │ ├── Contents.json │ │ ├── Snowman.png │ │ └── Snowman@2x.png │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 6 Specialized Layers ├── AVPlayerLayer │ ├── AVPlayerLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AVPlayerLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── Ship.mp4 │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAEAGLLayer │ ├── CAEAGLLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAEAGLLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAEmitterLayer │ ├── CAEmitterLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAEmitterLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Spark.imageset │ │ │ ├── Contents.json │ │ │ └── Spark.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAGradientLayer │ ├── CAGradientLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAGradientLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAReplicatorLayer │ ├── CAReplicatorLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAReplicatorLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAScrollLayer │ ├── CAScrollLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAScrollLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Snowman.imageset │ │ │ ├── Contents.json │ │ │ ├── Snowman.png │ │ │ └── Snowman@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ScrollView.h │ │ ├── ScrollView.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAShapeLayer │ ├── CAShapeLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAShapeLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CATextLayer │ ├── CATextLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CATextLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CATiledLayer │ ├── CATiledLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CATiledLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ ├── main.m │ │ └── tiles │ │ ├── Snowman_00_00.png │ │ ├── Snowman_00_01.png │ │ ├── Snowman_00_02.png │ │ ├── Snowman_00_03.png │ │ ├── Snowman_00_04.png │ │ ├── Snowman_00_05.png │ │ ├── Snowman_00_06.png │ │ ├── Snowman_00_07.png │ │ ├── Snowman_01_00.png │ │ ├── Snowman_01_01.png │ │ ├── Snowman_01_02.png │ │ ├── Snowman_01_03.png │ │ ├── Snowman_01_04.png │ │ ├── Snowman_01_05.png │ │ ├── Snowman_01_06.png │ │ ├── Snowman_01_07.png │ │ ├── Snowman_02_00.png │ │ ├── Snowman_02_01.png │ │ ├── Snowman_02_02.png │ │ ├── Snowman_02_03.png │ │ ├── Snowman_02_04.png │ │ ├── Snowman_02_05.png │ │ ├── Snowman_02_06.png │ │ ├── Snowman_02_07.png │ │ ├── Snowman_03_00.png │ │ ├── Snowman_03_01.png │ │ ├── Snowman_03_02.png │ │ ├── Snowman_03_03.png │ │ ├── Snowman_03_04.png │ │ ├── Snowman_03_05.png │ │ ├── Snowman_03_06.png │ │ ├── Snowman_03_07.png │ │ ├── Snowman_04_00.png │ │ ├── Snowman_04_01.png │ │ ├── Snowman_04_02.png │ │ ├── Snowman_04_03.png │ │ ├── Snowman_04_04.png │ │ ├── Snowman_04_05.png │ │ ├── Snowman_04_06.png │ │ ├── Snowman_04_07.png │ │ ├── Snowman_05_00.png │ │ ├── Snowman_05_01.png │ │ ├── Snowman_05_02.png │ │ ├── Snowman_05_03.png │ │ ├── Snowman_05_04.png │ │ ├── Snowman_05_05.png │ │ ├── Snowman_05_06.png │ │ ├── Snowman_05_07.png │ │ ├── Snowman_06_00.png │ │ ├── Snowman_06_01.png │ │ ├── Snowman_06_02.png │ │ ├── Snowman_06_03.png │ │ ├── Snowman_06_04.png │ │ ├── Snowman_06_05.png │ │ ├── Snowman_06_06.png │ │ ├── Snowman_06_07.png │ │ ├── Snowman_07_00.png │ │ ├── Snowman_07_01.png │ │ ├── Snowman_07_02.png │ │ ├── Snowman_07_03.png │ │ ├── Snowman_07_04.png │ │ ├── Snowman_07_05.png │ │ ├── Snowman_07_06.png │ │ └── Snowman_07_07.png ├── CATransformLayer │ ├── CATransformLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CATransformLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── LayerLabel │ ├── LayerLabel.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── LayerLabel │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── LayerLabel.h │ │ ├── LayerLabel.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── Reflection │ ├── Reflection.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── Reflection │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── Anchor.imageset │ │ │ ├── Anchor.png │ │ │ ├── Anchor@2x.png │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ReflectionView.h │ │ ├── ReflectionView.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── RichText │ ├── RichText.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── RichText │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── TileCutter │ ├── TileCutter.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── TileCutter │ └── main.m ├── 7 Implicit Animations ├── ActionForLayer │ ├── ActionForLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── ActionForLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CustomAction │ ├── CustomAction.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CustomAction │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── LayerActions │ ├── LayerActions.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── LayerActions │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── PresentationLayer │ ├── PresentationLayer.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── PresentationLayer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── Transactions │ ├── Transactions.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── Transactions │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 8 Explicit Animations ├── AnimateTransform │ ├── AnimateTransform.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AnimateTransform │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Ship.imageset │ │ │ ├── Contents.json │ │ │ ├── Ship.png │ │ │ └── Ship@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── AnimateUITabBarController │ ├── AnimateUITabBarController.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AnimateUITabBarController │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── FirstViewController.h │ │ ├── FirstViewController.m │ │ ├── FirstViewController.xib │ │ ├── Info.plist │ │ ├── SecondViewController.h │ │ ├── SecondViewController.m │ │ ├── SecondViewController.xib │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── AnimatedClock │ ├── AnimatedClock.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── Clock │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── ClockFace.imageset │ │ │ ├── ClockFace.png │ │ │ ├── ClockFace@2x.png │ │ │ └── Contents.json │ │ ├── Digits.imageset │ │ │ ├── Contents.json │ │ │ └── Digits.png │ │ ├── HourHand.imageset │ │ │ ├── Contents.json │ │ │ ├── HourHand.png │ │ │ └── HourHand@2x.png │ │ ├── MinuteHand.imageset │ │ │ ├── Contents.json │ │ │ ├── MinuteHand.png │ │ │ └── MinuteHand@2x.png │ │ └── SecondHand.imageset │ │ │ ├── Contents.json │ │ │ ├── SecondHand.png │ │ │ └── SecondHand@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── AnimationDidStop │ ├── AnimationDidStop.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AnimationDidStop │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── AnimationGroup │ ├── AnimationGroup.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── AnimationGroup │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CABasicAnimation │ ├── CABasicAnimation.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CABasicAnimation │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CAKeyframeAnimation │ ├── CAKeyframeAnimation.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CAKeyframeAnimation │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CATransition │ ├── CATransition.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CATransition │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── Anchor.imageset │ │ │ ├── Anchor.png │ │ │ ├── Anchor@2x.png │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Cone.imageset │ │ │ ├── Cone.png │ │ │ ├── Cone@2x.png │ │ │ └── Contents.json │ │ ├── Igloo.imageset │ │ │ ├── Contents.json │ │ │ ├── Igloo.png │ │ │ └── Igloo@2x.png │ │ └── Snowman.imageset │ │ │ ├── Contents.json │ │ │ ├── Snowman.png │ │ │ └── Snowman@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CancelAnimation │ ├── CancelAnimation.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CancelAnimation │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Ship.imageset │ │ │ ├── Contents.json │ │ │ ├── Ship.png │ │ │ └── Ship@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── CustomTransition │ ├── CustomTransition.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── CustomTransition │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── TransformRotation │ ├── TransformRotation.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── TransformRotation │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Ship.imageset │ │ │ ├── Contents.json │ │ │ ├── Ship.png │ │ │ └── Ship@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── UIBezierPath │ ├── UIBezierPath.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── UIBezierPath │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Ship.imageset │ │ ├── Contents.json │ │ ├── Ship.png │ │ └── Ship@2x.png │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 9 Layer Time ├── DurationAndRepeatCount │ ├── DurationAndRepeatCount.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── DurationAndRepeatCount │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Ship.imageset │ │ │ ├── Contents.json │ │ │ ├── Ship.png │ │ │ └── Ship@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── ManualAnimation │ ├── ManualAnimation.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── SwingingDoor │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Door.imageset │ │ │ ├── Contents.json │ │ │ ├── Door.png │ │ │ └── Door@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m ├── SwingingDoor │ ├── SwingingDoor.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ └── SwingingDoor │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Door.imageset │ │ │ ├── Contents.json │ │ │ ├── Door.png │ │ │ └── Door@2x.png │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── TimeOffsetAndSpeed │ ├── TimeOffsetAndSpped.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── UIBezierPath │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Ship.imageset │ │ ├── Contents.json │ │ ├── Ship.png │ │ └── Ship@2x.png │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── CoreAnimationCode.xcworkspace └── contents.xcworkspacedata └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | .DS_Store 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | !default.xcworkspace 13 | xcuserdata 14 | *.moved-aside 15 | *.mobileprovision 16 | DerivedData 17 | .idea 18 | Pods 19 | Podfile.lock 20 | 21 | *.xcscmblueprint -------------------------------------------------------------------------------- /1 The Layer Tree/BlueLayer/BlueLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /1 The Layer Tree/BlueLayer/BlueLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // BlueLayer 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /1 The Layer Tree/BlueLayer/BlueLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /1 The Layer Tree/BlueLayer/BlueLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // BlueLayer 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /1 The Layer Tree/BlueLayer/BlueLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // BlueLayer 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /2 The Backing Image/CALayerDelegate/CALayerDelegate.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /2 The Backing Image/CALayerDelegate/CALayerDelegate/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CALayerDelegate 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /2 The Backing Image/CALayerDelegate/CALayerDelegate/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /2 The Backing Image/CALayerDelegate/CALayerDelegate/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CALayerDelegate 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /2 The Backing Image/CALayerDelegate/CALayerDelegate/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CALayerDelegate 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LayerContent 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/Snowman.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Snowman.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Snowman@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/Snowman.imageset/Snowman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/Snowman.imageset/Snowman.png -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/Snowman.imageset/Snowman@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/2 The Backing Image/LayerContent/LayerContent/Assets.xcassets/Snowman.imageset/Snowman@2x.png -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LayerContent 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /2 The Backing Image/LayerContent/LayerContent/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LayerContent 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Sprite 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/Assets.xcassets/Sprites.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Sprites.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Sprites@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/Assets.xcassets/Sprites.imageset/Sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/2 The Backing Image/Sprite/Sprite/Assets.xcassets/Sprites.imageset/Sprites.png -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/Assets.xcassets/Sprites.imageset/Sprites@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/2 The Backing Image/Sprite/Sprite/Assets.xcassets/Sprites.imageset/Sprites@2x.png -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Sprite 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /2 The Backing Image/Sprite/Sprite/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Sprite 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3 Layer Geometry/AnchorPoint/AnchorPoint.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /3 Layer Geometry/AnchorPoint/AnchorPoint/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnchorPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /3 Layer Geometry/AnchorPoint/AnchorPoint/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /3 Layer Geometry/AnchorPoint/AnchorPoint/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnchorPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /3 Layer Geometry/AnchorPoint/AnchorPoint/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnchorPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace@2x.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/ClockFace.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ClockFace.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ClockFace@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/Digits.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Digits.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/Digits.imageset/Digits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/Digits.imageset/Digits.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/HourHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "HourHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "HourHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/HourHand.imageset/HourHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/HourHand.imageset/HourHand.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/HourHand.imageset/HourHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/HourHand.imageset/HourHand@2x.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/MinuteHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "MinuteHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "MinuteHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand@2x.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/SecondHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "SecondHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "SecondHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/Clock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand@2x.png -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /3 Layer Geometry/Clock/Clock/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContainsPoint/ContainsPoint.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContainsPoint/ContainsPoint/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ContainsPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContainsPoint/ContainsPoint/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /3 Layer Geometry/ContainsPoint/ContainsPoint/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ContainsPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContainsPoint/ContainsPoint/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ContainsPoint 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ContentsCenter 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/Assets.xcassets/GreenBigBtn.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "GreenBigBtn@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/Assets.xcassets/GreenBigBtn.imageset/GreenBigBtn@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/3 Layer Geometry/ContentsCenter/ContentsCenter/Assets.xcassets/GreenBigBtn.imageset/GreenBigBtn@2x.png -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ContentsCenter 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /3 Layer Geometry/ContentsCenter/ContentsCenter/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ContentsCenter 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3 Layer Geometry/ZPosition/ZPosition.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /3 Layer Geometry/ZPosition/ZPosition/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ZPosition 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /3 Layer Geometry/ZPosition/ZPosition/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /3 Layer Geometry/ZPosition/ZPosition/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ZPosition 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /3 Layer Geometry/ZPosition/ZPosition/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ZPosition 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/DropShadows/DropShadows.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/DropShadows/DropShadows/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // DropShadows 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/DropShadows/DropShadows/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/DropShadows/DropShadows/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // DropShadows 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/DropShadows/DropShadows/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // DropShadows 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/GroupOpacity/GroupOpacity.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/GroupOpacity/GroupOpacity/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // GroupOpacity 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/GroupOpacity/GroupOpacity/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/GroupOpacity/GroupOpacity/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // GroupOpacity 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/GroupOpacity/GroupOpacity/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GroupOpacity 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LCDClock 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/Assets.xcassets/Digits.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Digits.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/Assets.xcassets/Digits.imageset/Digits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/LCDClock/LCDClock/Assets.xcassets/Digits.imageset/Digits.png -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LCDClock 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/LCDClock/LCDClock/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LCDClock 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LayerMask 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Cone.imageset/Cone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Cone.imageset/Cone.png -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Cone.imageset/Cone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Cone.imageset/Cone@2x.png -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Cone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Cone.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Cone@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Igloo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Igloo.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Igloo@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Igloo.imageset/Igloo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Igloo.imageset/Igloo.png -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Igloo.imageset/Igloo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/LayerMask/LayerMask/Assets.xcassets/Igloo.imageset/Igloo@2x.png -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LayerMask 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/LayerMask/LayerMask/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LayerMask 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/RoundedCorners/RoundedCorners.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/RoundedCorners/RoundedCorners/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RoundedCorners 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/RoundedCorners/RoundedCorners/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/RoundedCorners/RoundedCorners/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // RoundedCorners 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/RoundedCorners/RoundedCorners/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // RoundedCorners 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowClipping/ShadowClipping.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowClipping/ShadowClipping/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ShadowClipping 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowClipping/ShadowClipping/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/ShadowClipping/ShadowClipping/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ShadowClipping 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowClipping/ShadowClipping/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ShadowClipping 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ShadowPath 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/Cone.imageset/Cone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/Cone.imageset/Cone.png -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/Cone.imageset/Cone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/Cone.imageset/Cone@2x.png -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/Assets.xcassets/Cone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Cone.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Cone@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ShadowPath 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /4 Visual Effects/ShadowPath/ShadowPath/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ShadowPath 4 | // 5 | // Created by lzw on 15/9/22. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CompoundTransform 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/Snowman.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Snowman.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Snowman@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/Snowman.imageset/Snowman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/Snowman.imageset/Snowman.png -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/Snowman.imageset/Snowman@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/5 Transforms/CompoundTransform/CompoundTransform/Assets.xcassets/Snowman.imageset/Snowman@2x.png -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CompoundTransform 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /5 Transforms/CompoundTransform/CompoundTransform/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CompoundTransform 4 | // 5 | // Created by lzw on 15/9/23. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /5 Transforms/Cube/Cube.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /5 Transforms/Cube/Cube/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Cube 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /5 Transforms/Cube/Cube/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /5 Transforms/Cube/Cube/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Cube 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /5 Transforms/Cube/Cube/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Cube 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRoationAroundY/OppositeRoationAroundY.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRoationAroundY/OppositeRoationAroundY/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // OppositeRoationAroundY 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRoationAroundY/OppositeRoationAroundY/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // OppositeRoationAroundY 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRoationAroundY/OppositeRoationAroundY/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // OppositeRoationAroundY 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRotationAroundZ/OppositeRotationAroundZ.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRotationAroundZ/OppositeRotationAroundZ/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // OppositeRotationAroundZ 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRotationAroundZ/OppositeRotationAroundZ/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // OppositeRotationAroundZ 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /5 Transforms/OppositeRotationAroundZ/OppositeRotationAroundZ/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // OppositeRotationAroundZ 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SublayerTransform 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/Snowman.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Snowman.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Snowman@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/Snowman.imageset/Snowman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/Snowman.imageset/Snowman.png -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/Snowman.imageset/Snowman@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/5 Transforms/SublayerTransform/SublayerTransform/Assets.xcassets/Snowman.imageset/Snowman@2x.png -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SublayerTransform 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /5 Transforms/SublayerTransform/SublayerTransform/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SublayerTransform 4 | // 5 | // Created by lzw on 15/9/25. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AVPlayerLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/Ship.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/Ship.mp4 -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AVPlayerLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/AVPlayerLayer/AVPlayerLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AVPlayerLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEAGLLayer/CAEAGLLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEAGLLayer/CAEAGLLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAEAGLLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEAGLLayer/CAEAGLLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAEAGLLayer/CAEAGLLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAEAGLLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEAGLLayer/CAEAGLLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAEAGLLayer 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAEmitterLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/Assets.xcassets/Spark.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Spark.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/Assets.xcassets/Spark.imageset/Spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/Assets.xcassets/Spark.imageset/Spark.png -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAEmitterLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAEmitterLayer/CAEmitterLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAEmitterLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAGradientLayer/CAGradientLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAGradientLayer/CAGradientLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAGradientLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAGradientLayer/CAGradientLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAGradientLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAGradientLayer/CAGradientLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAGradientLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAReplicatorLayer/CAReplicatorLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAReplicatorLayer/CAReplicatorLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAReplicatorLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAReplicatorLayer/CAReplicatorLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAReplicatorLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAReplicatorLayer/CAReplicatorLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAReplicatorLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAScrollLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/Snowman.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Snowman.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Snowman@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/Snowman.imageset/Snowman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/Snowman.imageset/Snowman.png -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/Snowman.imageset/Snowman@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CAScrollLayer/CAScrollLayer/Assets.xcassets/Snowman.imageset/Snowman@2x.png -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/ScrollView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ScrollView.h 3 | // CAScrollLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ScrollView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAScrollLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // CAScrollLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @property (weak, nonatomic) IBOutlet UIView *containerView; 14 | 15 | @end 16 | 17 | @implementation ViewController 18 | 19 | - (void)viewDidLoad { 20 | [super viewDidLoad]; 21 | // Do any additional setup after loading the view, typically from a nib. 22 | 23 | } 24 | 25 | - (void)didReceiveMemoryWarning { 26 | [super didReceiveMemoryWarning]; 27 | // Dispose of any resources that can be recreated. 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAScrollLayer/CAScrollLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAScrollLayer 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAShapeLayer/CAShapeLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAShapeLayer/CAShapeLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAShapeLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAShapeLayer/CAShapeLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CAShapeLayer/CAShapeLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAShapeLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CAShapeLayer/CAShapeLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAShapeLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATextLayer/CATextLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATextLayer/CATextLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CATextLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATextLayer/CATextLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CATextLayer/CATextLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CATextLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATextLayer/CATextLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CATextLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CATiledLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CATiledLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CATiledLayer 4 | // 5 | // Created by lzw on 15/9/30. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_00_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_01_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_02_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_03_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_04_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_05_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_06_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_00.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_01.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_02.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_03.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_04.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_05.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_06.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/CATiledLayer/CATiledLayer/tiles/Snowman_07_07.png -------------------------------------------------------------------------------- /6 Specialized Layers/CATransformLayer/CATransformLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATransformLayer/CATransformLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CATransformLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATransformLayer/CATransformLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CATransformLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/CATransformLayer/CATransformLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CATransformLayer 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LayerLabel 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/LayerLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // LayerLabel.h 3 | // LayerLabel 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LayerLabel : UILabel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LayerLabel 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LayerLabel 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | 21 | } 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /6 Specialized Layers/LayerLabel/LayerLabel/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LayerLabel 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Reflection 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/Assets.xcassets/Anchor.imageset/Anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/Reflection/Reflection/Assets.xcassets/Anchor.imageset/Anchor.png -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/Assets.xcassets/Anchor.imageset/Anchor@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/6 Specialized Layers/Reflection/Reflection/Assets.xcassets/Anchor.imageset/Anchor@2x.png -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/Assets.xcassets/Anchor.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Anchor.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Anchor@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/ReflectionView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ReflectionView.h 3 | // Reflection 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ReflectionView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Reflection 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // Reflection 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "ReflectionView.h" 11 | 12 | @interface ViewController () 13 | 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | // Do any additional setup after loading the view, typically from a nib. 21 | } 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /6 Specialized Layers/Reflection/Reflection/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Reflection 4 | // 5 | // Created by lzw on 15/9/29. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/RichText/RichText.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /6 Specialized Layers/RichText/RichText/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RichText 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /6 Specialized Layers/RichText/RichText/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /6 Specialized Layers/RichText/RichText/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // RichText 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /6 Specialized Layers/RichText/RichText/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // RichText 4 | // 5 | // Created by lzw on 15/9/27. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /6 Specialized Layers/TileCutter/TileCutter.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/ActionForLayer/ActionForLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/ActionForLayer/ActionForLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ActionForLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /7 Implicit Animations/ActionForLayer/ActionForLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ActionForLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /7 Implicit Animations/ActionForLayer/ActionForLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ActionForLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /7 Implicit Animations/CustomAction/CustomAction.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/CustomAction/CustomAction/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CustomAction 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /7 Implicit Animations/CustomAction/CustomAction/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /7 Implicit Animations/CustomAction/CustomAction/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CustomAction 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /7 Implicit Animations/CustomAction/CustomAction/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CustomAction 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /7 Implicit Animations/LayerActions/LayerActions.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/LayerActions/LayerActions/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LayerActions 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /7 Implicit Animations/LayerActions/LayerActions/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /7 Implicit Animations/LayerActions/LayerActions/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LayerActions 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /7 Implicit Animations/LayerActions/LayerActions/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LayerActions 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /7 Implicit Animations/PresentationLayer/PresentationLayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/PresentationLayer/PresentationLayer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // PresentationLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /7 Implicit Animations/PresentationLayer/PresentationLayer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // PresentationLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /7 Implicit Animations/PresentationLayer/PresentationLayer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // PresentationLayer 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /7 Implicit Animations/Transactions/Transactions.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /7 Implicit Animations/Transactions/Transactions/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Transactions 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /7 Implicit Animations/Transactions/Transactions/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /7 Implicit Animations/Transactions/Transactions/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Transactions 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /7 Implicit Animations/Transactions/Transactions/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Transactions 4 | // 5 | // Created by lzw on 15/10/1. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnimateTransform 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Ship.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Ship@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimateTransform/AnimateTransform/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimateTransform/AnimateTransform/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnimateTransform 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateTransform/AnimateTransform/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnimateTransform 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/FirstViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FirstViewController.h 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FirstViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/SecondViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SecondViewController.h 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SecondViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimateUITabBarController/AnimateUITabBarController/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnimateUITabBarController 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/AnimatedClock.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/ClockFace.imageset/ClockFace@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/ClockFace.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ClockFace.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ClockFace@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/Digits.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Digits.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/Digits.imageset/Digits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/Digits.imageset/Digits.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/HourHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "HourHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "HourHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/HourHand.imageset/HourHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/HourHand.imageset/HourHand.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/HourHand.imageset/HourHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/HourHand.imageset/HourHand@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/MinuteHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "MinuteHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "MinuteHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/MinuteHand.imageset/MinuteHand@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/SecondHand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "SecondHand.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "SecondHand@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/AnimatedClock/Clock/Assets.xcassets/SecondHand.imageset/SecondHand@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimatedClock/Clock/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Clock 4 | // 5 | // Created by lzw on 15/9/20. 6 | // Copyright © 2015年 微信: lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationDidStop/AnimationDidStop.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationDidStop/AnimationDidStop/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnimationDidStop 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationDidStop/AnimationDidStop/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnimationDidStop 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationDidStop/AnimationDidStop/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnimationDidStop 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationGroup/AnimationGroup.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationGroup/AnimationGroup/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AnimationGroup 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationGroup/AnimationGroup/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AnimationGroup 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/AnimationGroup/AnimationGroup/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AnimationGroup 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/CABasicAnimation/CABasicAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/CABasicAnimation/CABasicAnimation/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CABasicAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/CABasicAnimation/CABasicAnimation/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CABasicAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/CABasicAnimation/CABasicAnimation/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CABasicAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/CAKeyframeAnimation/CAKeyframeAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/CAKeyframeAnimation/CAKeyframeAnimation/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CAKeyframeAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/CAKeyframeAnimation/CAKeyframeAnimation/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CAKeyframeAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/CAKeyframeAnimation/CAKeyframeAnimation/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CAKeyframeAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CATransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Anchor.imageset/Anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Anchor.imageset/Anchor.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Anchor.imageset/Anchor@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Anchor.imageset/Anchor@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Anchor.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Anchor.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Anchor@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Cone.imageset/Cone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Cone.imageset/Cone.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Cone.imageset/Cone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Cone.imageset/Cone@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Cone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Cone.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Cone@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Igloo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Igloo.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Igloo@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Igloo.imageset/Igloo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Igloo.imageset/Igloo.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Igloo.imageset/Igloo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Igloo.imageset/Igloo@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Snowman.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Snowman.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Snowman@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Snowman.imageset/Snowman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Snowman.imageset/Snowman.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Snowman.imageset/Snowman@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CATransition/CATransition/Assets.xcassets/Snowman.imageset/Snowman@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CATransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/CATransition/CATransition/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CATransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CancelAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "Ship.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "Ship@2x.png" 12 | } 13 | ], 14 | "info" : { 15 | "version" : 1, 16 | "author" : "xcode" 17 | } 18 | } -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CancelAnimation/CancelAnimation/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/CancelAnimation/CancelAnimation/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CancelAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/CancelAnimation/CancelAnimation/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CancelAnimation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/CustomTransition/CustomTransition.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/CustomTransition/CustomTransition/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CustomTransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/CustomTransition/CustomTransition/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CustomTransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/CustomTransition/CustomTransition/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CustomTransition 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // TransformRotation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Ship.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Ship@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/TransformRotation/TransformRotation/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/TransformRotation/TransformRotation/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // TransformRotation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/TransformRotation/TransformRotation/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TransformRotation 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Ship.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Ship@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/8 Explicit Animations/UIBezierPath/UIBezierPath/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /8 Explicit Animations/UIBezierPath/UIBezierPath/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // DurationAndRepeatCount 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Ship.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Ship@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // DurationAndRepeatCount 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /9 Layer Time/DurationAndRepeatCount/DurationAndRepeatCount/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // DurationAndRepeatCount 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/ManualAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/Door.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Door.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Door@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/Door.imageset/Door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/Door.imageset/Door.png -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/Door.imageset/Door@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/ManualAnimation/SwingingDoor/Assets.xcassets/Door.imageset/Door@2x.png -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /9 Layer Time/ManualAnimation/SwingingDoor/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/Door.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Door.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Door@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/Door.imageset/Door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/Door.imageset/Door.png -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/Door.imageset/Door@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/SwingingDoor/SwingingDoor/Assets.xcassets/Door.imageset/Door@2x.png -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /9 Layer Time/SwingingDoor/SwingingDoor/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SwingingDoor 4 | // 5 | // Created by lzw on 15/10/3. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/TimeOffsetAndSpped.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/Ship.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Ship.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Ship@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/Ship.imageset/Ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/Ship.imageset/Ship.png -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/Ship.imageset/Ship@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pflnh/CoreAnimationCode/31e63f1f79578272faf455c1a4c4a3f9d3114c98/9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/Assets.xcassets/Ship.imageset/Ship@2x.png -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /9 Layer Time/TimeOffsetAndSpeed/UIBezierPath/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UIBezierPath 4 | // 5 | // Created by lzw on 15/10/2. 6 | // Copyright © 2015年 lzwjava. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | --------------------------------------------------------------------------------