├── .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 |
--------------------------------------------------------------------------------