├── .DS_Store ├── APM ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Cat.h ├── Cat.m ├── Info.plist ├── Person.h ├── Person.m ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── AppHook ├── AppHook.h ├── HookProtector.h ├── InjectCode.h └── InjectCode.m ├── AppHookProtector ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── AspectsLibExplore ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── UIViewController+Hook.h ├── UIViewController+Hook.m ├── ViewController-arm64.cpp ├── ViewController.h ├── ViewController.m └── main.m ├── BinarayOrderExplore ├── Animal.h ├── Animal.m ├── AppDelegate.h ├── AppDelegate.m ├── AppLunch.order ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── BinarayOrderExplore-Bridging-Header.h ├── Cat.h ├── Cat.m ├── GenerateOrderFileUtils.h ├── GenerateOrderFileUtils.m ├── Info.plist ├── Person.h ├── Person.m ├── RagDoll.swift ├── SceneDelegate.h ├── SceneDelegate.m ├── Student.h ├── Student.m ├── ViewController.h ├── ViewController.m └── main.m ├── Block底层研究 ├── 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 ├── CALayer基本操作 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── temp.imageset │ │ ├── Contents.json │ │ └── 屏幕快照 2017-12-12 下午4.37.55.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── Category中增加属性 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── UIButton+propertyTest.h ├── UIButton+propertyTest.m ├── ViewController.h ├── ViewController.m └── main.m ├── GCDExplore ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── HMapDump ├── HeaderMapExplore-project-headers.hmap ├── HeaderMapTypes.h └── main.mm ├── HMapStaticLib ├── HMapStaticLib.h ├── Person.h ├── Person.m ├── StaticLibUsage.hmap ├── Student.h ├── Student.m └── hmap.json ├── HMapStaticLibApp ├── .DS_Store ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m ├── XcodeCompileLog-After.txt ├── XcodeCompileLog-Before.txt └── main.m ├── HMapWritor └── main.mm ├── HashAndNSDictionaryNSMapTable └── main.m ├── HotFix ├── AppDelegate.h ├── AppDelegate.m ├── Aspects │ ├── Aspects.h │ └── Aspects.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Fix │ ├── BugProtector.h │ ├── BugProtector.m │ ├── FixManager.h │ └── FixManager.m ├── Info.plist ├── TestCase │ ├── Enginner.h │ ├── Enginner.m │ ├── Tester.h │ └── Tester.m ├── ViewController.h ├── ViewController.m └── main.m ├── ImageDecode ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── peacock.imageset │ │ ├── Contents.json │ │ └── peacock-1169961.jpg ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── ImageLoad ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── KVO 底层原理剖析 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── LBPAttributedStringTools ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── LBPHightedAttributedString │ ├── LBPHightedAttributedString.h │ └── LBPHightedAttributedString.m ├── ViewController.h ├── ViewController.m └── main.m ├── LICENSE ├── QQ粘性动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── BageValue.h ├── BageValue.m ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── README.md ├── UIKit画图-画图片、图形 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── way.imageset │ │ ├── Contents.json │ │ └── way.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── OperationView.h ├── OperationView.m ├── ViewController.h ├── ViewController.m └── main.m ├── UIKit画图-画文字 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── WordView.h ├── WordView.m └── main.m ├── UIWebView迁移到WKWebView ├── 3dParty │ └── YYFPSLabel │ │ ├── YYFPSLabel.h │ │ ├── YYFPSLabel.m │ │ ├── YYWeakProxy.h │ │ └── YYWeakProxy.m ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── index.html └── main.m ├── graphics └── en.lproj │ └── filter.html ├── hitTest的神奇效果(一) ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ShelterView.h ├── ShelterView.m ├── ViewController.h ├── ViewController.m └── main.m ├── image ├── 2018-01-10 22_56_34.gif ├── 2018-01-10 23_23_06.gif ├── QQ20180610-225937-HD.gif ├── QQ20180610-235159@2x.png ├── QQ20180610-235258-HD.gif ├── QQ20180610-235342@2x.png ├── QQ20180610-235402@2x.png ├── QQ20180610-235439@2x.png ├── QQ20180610-235637-HD.gif ├── QQ20180611-105040@2x.png ├── 屏幕快照 2018-01-02 下午10.12.57.png └── 抽奖转盘动画.gif ├── native-JS ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── IMG_6493.png ├── Info.plist ├── PersonInject.h ├── PersonInject.m ├── ViewController.h ├── ViewController.m ├── environment.html ├── index.js ├── main.m ├── native-JS.html └── urlScheme.html ├── view跟随手势拖动效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── RedView.h ├── RedView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 下载进度条 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ProgressView.h ├── ProgressView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 僵尸对象探针 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m ├── ZombieObjectDetector.h ├── ZombieObjectDetector.m ├── ZombieProxy.h ├── ZombieProxy.m ├── ZombieSniffer.h ├── ZombieSniffer.m ├── fishhook.c ├── fishhook.h ├── main.m ├── queue.c └── queue.h ├── 动画组 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── main.m └── 抽奖转盘动画 │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── LuckyAnimal.imageset │ │ ├── Contents.json │ │ ├── LuckyAnimal.png │ │ └── LuckyAnimal@2x.png │ ├── LuckyAnimalPressed.imageset │ │ ├── Contents.json │ │ ├── LuckyAnimalPressed.png │ │ └── LuckyAnimalPressed@2x.png │ ├── LuckyAstrology.imageset │ │ ├── Contents.json │ │ ├── LuckyAstrology.png │ │ └── LuckyAstrology@2x.png │ ├── LuckyAstrologyPressed.imageset │ │ ├── Contents.json │ │ ├── LuckyAstrologyPressed.png │ │ └── LuckyAstrologyPressed@2x.png │ ├── LuckyBaseBackground.imageset │ │ ├── Contents.json │ │ └── LuckyBaseBackground@2x.png │ ├── LuckyCenterButton.imageset │ │ ├── Contents.json │ │ └── LuckyCenterButton@2x.png │ ├── LuckyCenterButtonPressed.imageset │ │ ├── Contents.json │ │ └── LuckyCenterButtonPressed@2x.png │ ├── LuckyRotateWheel.imageset │ │ ├── Contents.json │ │ ├── LuckyRotateWheel.png │ │ └── LuckyRotateWheel@2x.png │ └── LuckyRototeSelected.imageset │ │ ├── Contents.json │ │ ├── LuckyRototeSelected.png │ │ └── LuckyRototeSelected@2x.png │ ├── Info.plist │ ├── LaunchScreen.storyboard │ ├── Main.storyboard │ ├── ViewController.h │ ├── ViewController.m │ ├── WheelButton.h │ ├── WheelButton.m │ ├── WheelView.h │ ├── WheelView.m │ ├── WheelView.xib │ └── main.m ├── 博文对应的小实验.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ ├── geek.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ ├── lbp.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ ├── liubinpeng.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ ├── oker.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ └── unix_kernel.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcshareddata │ └── xcschemes │ │ ├── AppHookProtector.xcscheme │ │ ├── AspectsLibExplore.xcscheme │ │ ├── BinarayOrderExplore.xcscheme │ │ ├── HMapDump.xcscheme │ │ └── 复制层应用3-粒子闪烁效果.xcscheme └── xcuserdata │ ├── geek.xcuserdatad │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ │ ├── Category中增加属性.xcscheme │ │ ├── UIWebView迁移到WKWebView.xcscheme │ │ ├── xcschememanagement.plist │ │ ├── 图片擦除效果.xcscheme │ │ ├── 模仿微信公众号网页效果,长按webview图片保存到相册.xcscheme │ │ ├── 画板.xcscheme │ │ └── 登陆动画.xcscheme │ ├── lbp.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── liubinpeng.xcuserdatad │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ │ ├── UI动画.xcscheme │ │ ├── xcschememanagement.plist │ │ └── 复制层应用2.xcscheme │ ├── oker.xcuserdatad │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ │ └── xcschememanagement.plist │ └── unix_kernel.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ └── xcschememanagement.plist ├── 图像折叠动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── pig.imageset │ │ ├── Contents.json │ │ └── 知道错了.jpg ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 图形上下文状态栈 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── DrawView.h ├── DrawView.m ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 图形上下文的矩阵操作 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── VCView.h ├── VCView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 图标抖动动画(关键帧动画) ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── icon.imageset │ │ ├── Contents.json │ │ └── icon@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 图片擦除效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── onepiece.imageset │ │ ├── Contents.json │ │ └── onepiece.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 图片部分区域截图 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── onepiece.imageset │ │ ├── Contents.json │ │ └── onepiece.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 圆形图片裁剪 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── onepiece.imageset │ │ ├── Contents.json │ │ └── onepiece.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 基本图形绘制 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 复制层应用1-音量柱动画 ├── 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 ├── 复制层应用2-倒影效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── raw.imageset │ │ ├── Contents.json │ │ └── raw@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── ViewControllerView.h ├── ViewControllerView.m └── main.m ├── 复制层应用3-粒子闪烁效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m ├── ViewControllerView.h ├── ViewControllerView.m └── main.m ├── 外卖App双列表联动 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── Model │ ├── QuestionCollectionModel.h │ ├── QuestionCollectionModel.m │ ├── QuestionModel.h │ └── QuestionModel.m ├── UIColor+FlatUI.h ├── UIColor+FlatUI.m ├── View │ ├── PregnancyPeriodCell.h │ ├── PregnancyPeriodCell.m │ ├── QuestionCell.h │ └── QuestionCell.m ├── ViewController.h ├── ViewController.m ├── YYModel │ ├── NSObject+YYModel.h │ ├── NSObject+YYModel.m │ ├── YYClassInfo.h │ ├── YYClassInfo.m │ └── YYModel.h ├── data.plist └── main.m ├── 完美自定义键盘顶部 View ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── avator.imageset │ │ ├── Contents.json │ │ └── avator@2x.png │ └── scan.imageset │ │ ├── Contents.json │ │ └── scan@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── TestViewController.h ├── TestViewController.m ├── ViewController.h ├── ViewController.m └── main.m ├── 定时器雪花飘落效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── snow.imageset │ │ ├── Contents.json │ │ └── snow.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SnowView.h ├── SnowView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 常见系统手势 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── imag1.imageset │ │ ├── Contents.json │ │ └── imag1@2x.png │ ├── imag2.imageset │ │ ├── Contents.json │ │ └── imag2@2x.png │ ├── imag3.imageset │ │ ├── Contents.json │ │ └── imag3@2x.png │ ├── imag4.imageset │ │ ├── Contents.json │ │ └── imag4@2x.png │ └── imag5.imageset │ │ ├── Contents.json │ │ └── imag5@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── MyView.h ├── MyView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 微博发帖动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── tabbar_compose_background_icon_close.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_background_icon_close@2x.png │ │ └── tabbar_compose_background_icon_close@3x.png │ ├── tabbar_compose_camera.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_camera@2x.png │ │ └── tabbar_compose_camera@3x.png │ ├── tabbar_compose_idea.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_idea@2x.png │ │ └── tabbar_compose_idea@3x.png │ ├── tabbar_compose_lbs.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_lbs@2x.png │ │ └── tabbar_compose_lbs@3x.png │ ├── tabbar_compose_more.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_more@2x.png │ │ └── tabbar_compose_more@3x.png │ ├── tabbar_compose_photo.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_photo@2x.png │ │ └── tabbar_compose_photo@3x.png │ └── tabbar_compose_review.imageset │ │ ├── Contents.json │ │ ├── tabbar_compose_review@2x.png │ │ └── tabbar_compose_review@3x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── MuneItem.h ├── MuneItem.m ├── OPerationViewController.h ├── OPerationViewController.m ├── VerticalStyleButton.h ├── VerticalStyleButton.m ├── ViewController.h ├── ViewController.m └── main.m ├── 心跳效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── heart.imageset │ │ ├── Contents.json │ │ └── 心.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── DatacurbHybrid.h ├── DatacurbHybrid.m ├── Info.plist ├── MBProgressHUD │ ├── .svn │ │ ├── all-wcprops │ │ ├── entries │ │ ├── prop-base │ │ │ ├── MBProgressHUD.h.svn-base │ │ │ └── MBProgressHUD.m.svn-base │ │ └── text-base │ │ │ ├── MBProgressHUD+Add.h.svn-base │ │ │ ├── MBProgressHUD+Add.m.svn-base │ │ │ ├── MBProgressHUD.h.svn-base │ │ │ └── MBProgressHUD.m.svn-base │ ├── MBProgressHUD+Add.h │ ├── MBProgressHUD+Add.m │ ├── MBProgressHUD.h │ └── MBProgressHUD.m ├── UIViewController+HUD.h ├── UIViewController+HUD.m ├── ViewController.h ├── ViewController.m ├── index.html ├── main.m └── music.mp3 ├── 手势解锁 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── Home_refresh_bg.imageset │ │ ├── Contents.json │ │ └── Home_refresh_bg.png │ ├── gesture_node_highlighted.imageset │ │ ├── Contents.json │ │ ├── gesture_node_highlighted.png │ │ └── gesture_node_highlighted@2x.png │ └── gesture_node_normal.imageset │ │ ├── Contents.json │ │ ├── gesture_node_normal.png │ │ └── gesture_node_normal@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── View │ ├── GestureView.h │ ├── GestureView.m │ ├── VCView.h │ └── VCView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 抽奖转盘动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── LuckyAnimal.imageset │ │ ├── Contents.json │ │ ├── LuckyAnimal.png │ │ └── LuckyAnimal@2x.png │ ├── LuckyAnimalPressed.imageset │ │ ├── Contents.json │ │ ├── LuckyAnimalPressed.png │ │ └── LuckyAnimalPressed@2x.png │ ├── LuckyAstrology.imageset │ │ ├── Contents.json │ │ ├── LuckyAstrology.png │ │ └── LuckyAstrology@2x.png │ ├── LuckyAstrologyPressed.imageset │ │ ├── Contents.json │ │ ├── LuckyAstrologyPressed.png │ │ └── LuckyAstrologyPressed@2x.png │ ├── LuckyBaseBackground.imageset │ │ ├── Contents.json │ │ └── LuckyBaseBackground@2x.png │ ├── LuckyCenterButton.imageset │ │ ├── Contents.json │ │ └── LuckyCenterButton@2x.png │ ├── LuckyCenterButtonPressed.imageset │ │ ├── Contents.json │ │ └── LuckyCenterButtonPressed@2x.png │ ├── LuckyRotateWheel.imageset │ │ ├── Contents.json │ │ ├── LuckyRotateWheel.png │ │ └── LuckyRotateWheel@2x.png │ └── LuckyRototeSelected.imageset │ │ ├── Contents.json │ │ ├── LuckyRototeSelected.png │ │ └── LuckyRototeSelected@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── View │ ├── WheelButton.h │ ├── WheelButton.m │ ├── WheelView.h │ ├── WheelView.m │ └── WheelView.xib ├── ViewController.h ├── ViewController.m └── main.m ├── 无用类检测 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Dog.h ├── Dog.m ├── Info.plist ├── Person.h ├── Person.m ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m └── main.m ├── 无用类检测Tests └── _____Tests.m ├── 无用类检测UITests ├── _____UITests.m └── _____UITestsLaunchTests.m ├── 核心动画与UIView动画区别 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── RedView.h ├── RedView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 模仿微信公众号网页效果,长按webview图片保存到相册 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── IMG_6493.png ├── IMG_8390.JPG ├── Info.plist ├── ViewController.h ├── ViewController.m ├── file-Server.js ├── html2canvas.js ├── lib.js ├── main.m ├── product-7.png ├── test.html └── toImage.js ├── 模仿系统截屏 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 模仿系统找出事件的最佳响应者 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ └── Main.storyboard ├── Info.plist ├── LaunchScreen.storyboard ├── View │ ├── BaseView.h │ ├── BaseView.m │ ├── BlueView.h │ ├── BlueView.m │ ├── BrownView.h │ ├── BrownView.m │ ├── GreenView.h │ ├── GreenView.m │ ├── Keywindow.h │ ├── Keywindow.m │ ├── OrangeView.h │ ├── OrangeView.m │ ├── WhiteView.h │ ├── WhiteView.m │ ├── YellowView.h │ └── YellowView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 画板 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── DrawView.h ├── DrawView.m ├── HandleImageView.h ├── HandleImageView.m ├── Info.plist ├── MyBezierPath.h ├── MyBezierPath.m ├── ViewController.h ├── ViewController.m └── main.m ├── 画板Tests ├── Info.plist └── __Tests.m ├── 画板UITests ├── Info.plist └── __UITests.m ├── 画饼图 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── PieView.h ├── PieView.m ├── ViewController.h ├── ViewController.m └── main.m ├── 登陆动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── 素材 │ │ ├── hand.imageset │ │ ├── Contents.json │ │ └── 未标题-1.png │ │ ├── owl-login-arm-left.imageset │ │ ├── Contents.json │ │ └── owl-login-arm-left@2x.png │ │ ├── owl-login-arm-right.imageset │ │ ├── Contents.json │ │ └── owl-login-arm-right@2x.png │ │ └── owl-login.imageset │ │ ├── Contents.json │ │ └── owl-login@2x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Classes │ ├── Contacts(联系人) │ │ ├── Controller │ │ │ ├── AddViewController.h │ │ │ ├── AddViewController.m │ │ │ ├── ContactEditViewController.h │ │ │ ├── ContactEditViewController.m │ │ │ ├── ContactsViewController.h │ │ │ └── ContactsViewController.m │ │ └── Model │ │ │ ├── ContactsModel.h │ │ │ └── ContactsModel.m │ └── Login(登录) │ │ ├── Controller │ │ ├── ViewController.h │ │ └── ViewController.m │ │ └── View │ │ ├── LoginAnimationView.h │ │ ├── LoginAnimationView.m │ │ └── LoginAnimationView.xib ├── Info.plist └── main.m ├── 系统时钟效果 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── clock.imageset │ │ ├── Contents.json │ │ └── 钟表.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 约束布局 ├── 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 ├── 终极截屏 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── ContentViewController.h ├── ContentViewController.m ├── Info.plist ├── SnapshotDetailViewController.h ├── SnapshotDetailViewController.m ├── Source │ ├── LBPSnapshotManager.h │ └── LBPSnapshotManager.m ├── ViewController.h ├── ViewController.m └── main.m ├── 给图片添加水印 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── onepiece.imageset │ │ ├── Contents.json │ │ └── onepiece.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── 裁剪带圆形边框的图片 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── onepiece.imageset │ │ ├── Contents.json │ │ └── onepiece.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── UIImage+ClipBorderColor.h ├── UIImage+ClipBorderColor.m ├── ViewController.h ├── ViewController.m └── main.m ├── 转场动画 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── 1.imageset │ │ ├── 1.png │ │ └── Contents.json │ ├── 2.imageset │ │ ├── 2.png │ │ └── Contents.json │ ├── 3.imageset │ │ ├── 3.png │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m └── 金额的格式化显示 ├── 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 /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/.DS_Store -------------------------------------------------------------------------------- /APM/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 6/30/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /APM/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /APM/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /APM/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /APM/Cat.h: -------------------------------------------------------------------------------- 1 | // 2 | // Cat.h 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 7/1/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | @class Person; 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface Cat : NSObject 15 | 16 | @property (nonatomic, strong) Person *hoster; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /APM/Cat.m: -------------------------------------------------------------------------------- 1 | // 2 | // Cat.m 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 7/1/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Cat.h" 10 | 11 | @implementation Cat 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /APM/Person.h: -------------------------------------------------------------------------------- 1 | // 2 | // Person.h 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 6/30/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "Cat.h" 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Person : NSObject 14 | 15 | @property (nonatomic, strong) Cat *cat; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /APM/Person.m: -------------------------------------------------------------------------------- 1 | // 2 | // Person.m 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 6/30/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Person.h" 10 | 11 | @implementation Person 12 | 13 | 14 | - (void)sayHi { 15 | NSString *str = [[NSString alloc] init]; 16 | str = @"Hello world"; 17 | NSLog(@"%@", str); 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /APM/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 6/30/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /APM/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // APM 4 | // 5 | // Created by Unix_Kernel on 6/30/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AppHook/InjectCode.h: -------------------------------------------------------------------------------- 1 | // 2 | // InjectCode.h 3 | // AppHook 4 | // 5 | // Created by Unix_Kernel on 7/14/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface InjectCode : NSObject 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /AppHookProtector/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AppHookProtector 4 | // 5 | // Created by Unix_Kernel on 7/14/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AppHookProtector/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /AppHookProtector/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AppHookProtector/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppHookProtector/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // AppHookProtector 4 | // 5 | // Created by Unix_Kernel on 7/14/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /AppHookProtector/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AppHookProtector 4 | // 5 | // Created by Unix_Kernel on 7/14/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AspectsLibExplore/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AspectsLibExplore 4 | // 5 | // Created by Unix_Kernel on 7/8/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AspectsLibExplore/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /AspectsLibExplore/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AspectsLibExplore/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AspectsLibExplore/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // AspectsLibExplore 4 | // 5 | // Created by Unix_Kernel on 7/8/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /AspectsLibExplore/UIViewController+Hook.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+Hook.h 3 | // AspectsLibExplore 4 | // 5 | // Created by Unix_Kernel on 7/8/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UIViewController (Hook) 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /AspectsLibExplore/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AspectsLibExplore 4 | // 5 | // Created by Unix_Kernel on 7/8/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Animal.h: -------------------------------------------------------------------------------- 1 | // 2 | // Animal.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Person.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Animal : Person 14 | 15 | - (void)eat; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Animal.m: -------------------------------------------------------------------------------- 1 | // 2 | // Animal.m 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Animal.h" 10 | 11 | @implementation Animal 12 | 13 | - (void)eat { 14 | // NSLog(@"Animal eat"); 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /BinarayOrderExplore/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /BinarayOrderExplore/AppLunch.order: -------------------------------------------------------------------------------- 1 | _main 2 | -[AppDelegate application:didFinishLaunchingWithOptions:] 3 | -[AppDelegate application:configurationForConnectingSceneSession:options:] 4 | -[AppDelegate application:didDiscardSceneSessions:] 5 | -[Student eat] 6 | -[Student study] 7 | -[Cat bark] -------------------------------------------------------------------------------- /BinarayOrderExplore/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /BinarayOrderExplore/BinarayOrderExplore-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Cat.h: -------------------------------------------------------------------------------- 1 | // 2 | // Cat.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Animal.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Cat : Animal 14 | 15 | - (void)bark; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Cat.m: -------------------------------------------------------------------------------- 1 | // 2 | // Cat.m 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Cat.h" 10 | 11 | @implementation Cat 12 | 13 | - (void)bark { 14 | // NSLog(@"Cat bark"); 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /BinarayOrderExplore/GenerateOrderFileUtils.h: -------------------------------------------------------------------------------- 1 | // 2 | // GenerateOrderFileUtils.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/7/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface GenerateOrderFileUtils : NSObject 14 | 15 | + (void)generateOrderFiles:(void(^)(NSString *filePath))completionHandler; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Person.h: -------------------------------------------------------------------------------- 1 | // 2 | // Person.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Person : NSObject 14 | 15 | - (void)eat; 16 | 17 | - (void)sayHi; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Person.m: -------------------------------------------------------------------------------- 1 | // 2 | // Person.m 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Person.h" 10 | 11 | @implementation Person 12 | 13 | - (void)sayHi { 14 | // NSLog(@"Person sayHi"); 15 | } 16 | 17 | - (void)eat { 18 | // NSLog(@"Person eat"); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /BinarayOrderExplore/RagDoll.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RagDoll.swift 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | @objcMembers class RagDoll: NSObject { 12 | 13 | func sayHi () { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /BinarayOrderExplore/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Student.h: -------------------------------------------------------------------------------- 1 | // 2 | // Student.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Person.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Student : Person 14 | 15 | - (void)study; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /BinarayOrderExplore/Student.m: -------------------------------------------------------------------------------- 1 | // 2 | // Student.m 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Student.h" 10 | 11 | @implementation Student 12 | 13 | - (void)eat { 14 | 15 | } 16 | 17 | - (void)study { 18 | // NSLog(@"Student Study"); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /BinarayOrderExplore/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /BinarayOrderExplore/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // BinarayOrderExplore 4 | // 5 | // Created by Unix_Kernel on 7/6/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | 12 | @interface ViewController () 13 | 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | 21 | } 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Block底层研究/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Block底层研究 4 | // 5 | // Created by 刘斌鹏 on 2018/5/16. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /Block底层研究/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Block底层研究/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Block底层研究 4 | // 5 | // Created by 刘斌鹏 on 2018/5/16. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Block底层研究/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Block底层研究 4 | // 5 | // Created by 刘斌鹏 on 2018/5/16. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /CALayer基本操作/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CALayer基本操作 4 | // 5 | // Created by 杭城小刘 on 2018/1/3. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /CALayer基本操作/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /CALayer基本操作/Assets.xcassets/temp.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "屏幕快照 2017-12-12 下午4.37.55.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /CALayer基本操作/Assets.xcassets/temp.imageset/屏幕快照 2017-12-12 下午4.37.55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/CALayer基本操作/Assets.xcassets/temp.imageset/屏幕快照 2017-12-12 下午4.37.55.png -------------------------------------------------------------------------------- /CALayer基本操作/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CALayer基本操作 4 | // 5 | // Created by 杭城小刘 on 2018/1/3. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /CALayer基本操作/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CALayer基本操作 4 | // 5 | // Created by 杭城小刘 on 2018/1/3. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /Category中增加属性/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Category中增加属性 4 | // 5 | // Created by 杭城小刘 on 2017/9/5. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /Category中增加属性/UIButton+propertyTest.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+propertyTest.h 3 | // 博文对应的小实验 4 | // 5 | // Created by 杭城小刘 on 2017/9/5. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIButton (propertyTest) 12 | 13 | 14 | @property (nonatomic, assign) NSString *name; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Category中增加属性/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Category中增加属性 4 | // 5 | // Created by 杭城小刘 on 2017/9/5. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Category中增加属性/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Category中增加属性 4 | // 5 | // Created by 杭城小刘 on 2017/9/5. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /GCDExplore/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // GCDExplore 4 | // 5 | // Created by Unix_Kernel on 7/12/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /GCDExplore/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /GCDExplore/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /GCDExplore/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /GCDExplore/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // GCDExplore 4 | // 5 | // Created by Unix_Kernel on 7/12/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /GCDExplore/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // GCDExplore 4 | // 5 | // Created by Unix_Kernel on 7/12/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /HMapDump/HeaderMapExplore-project-headers.hmap: -------------------------------------------------------------------------------- 1 | pamhx]]MMnnwwAppDelegate.h/Users/unix_kernel/Desktop/HeaderMapExplore/HeaderMapExplore/SceneDelegate.hViewController.hPerson.hStudent.h -------------------------------------------------------------------------------- /HMapStaticLib/Person.h: -------------------------------------------------------------------------------- 1 | // 2 | // Person.h 3 | // HMapStaticLib 4 | // 5 | // Created by Unix_Kernel on 6/28/24. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface Person : NSObject 13 | 14 | - (void)work; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /HMapStaticLib/Person.m: -------------------------------------------------------------------------------- 1 | // 2 | // Person.m 3 | // HMapStaticLib 4 | // 5 | // Created by Unix_Kernel on 6/28/24. 6 | // 7 | 8 | #import "Person.h" 9 | 10 | @implementation Person 11 | 12 | - (void)work { 13 | NSLog(@"Person work"); 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /HMapStaticLib/StaticLibUsage.hmap: -------------------------------------------------------------------------------- 1 | pamhx S SStudent.h/Users/unix_kernel/Desktop/HMapStaticLibApp/HMapStaticLib/HMapStaticLibPerson.h -------------------------------------------------------------------------------- /HMapStaticLib/Student.h: -------------------------------------------------------------------------------- 1 | // 2 | // Student.h 3 | // HMapStaticLib 4 | // 5 | // Created by Unix_Kernel on 6/28/24. 6 | // 7 | 8 | #import "Person.h" 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface Student : Person 13 | 14 | - (void)study; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /HMapStaticLib/Student.m: -------------------------------------------------------------------------------- 1 | // 2 | // Student.m 3 | // HMapStaticLib 4 | // 5 | // Created by Unix_Kernel on 6/28/24. 6 | // 7 | 8 | #import "Student.h" 9 | 10 | @implementation Student 11 | 12 | - (void)study { 13 | [self work]; 14 | NSLog(@"Student study"); 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /HMapStaticLib/hmap.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["Student.h", "/Users/unix_kernel/Desktop/HMapStaticLibApp/HMapStaticLib/HMapStaticLib", "Student.h"], 3 | ["Person.h", "/Users/unix_kernel/Desktop/HMapStaticLibApp/HMapStaticLib/HMapStaticLib", "Person.h"] 4 | ] -------------------------------------------------------------------------------- /HMapStaticLibApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/HMapStaticLibApp/.DS_Store -------------------------------------------------------------------------------- /HMapStaticLibApp/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // HMapStaticLibApp 4 | // 5 | // Created by Unix_Kernel on 6/29/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /HMapStaticLibApp/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /HMapStaticLibApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /HMapStaticLibApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /HMapStaticLibApp/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // HMapStaticLibApp 4 | // 5 | // Created by Unix_Kernel on 6/29/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /HMapStaticLibApp/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // HMapStaticLibApp 4 | // 5 | // Created by Unix_Kernel on 6/29/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /HMapStaticLibApp/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // HMapStaticLibApp 4 | // 5 | // Created by Unix_Kernel on 6/29/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import 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. 21 | } 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /HotFix/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // HotFix 4 | // 5 | // Created by 杭城小刘 on 2019/8/6. 6 | // Copyright © 2019 杭城小刘. 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 | -------------------------------------------------------------------------------- /HotFix/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /HotFix/Fix/BugProtector.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // HotFix 4 | // 5 | // Created by 杭城小刘 on 7/11/19. 6 | // Copyright © 2019 @杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface BugProtector : NSObject 14 | 15 | + (instancetype)sharedInstance; 16 | 17 | + (void)getFixScript:(NSString *)scriptText; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /HotFix/TestCase/Enginner.h: -------------------------------------------------------------------------------- 1 | // 2 | // Enginner.h 3 | // Test 4 | // 5 | // Created by 杭城小刘 on 7/11/19. 6 | // Copyright © 2019 @杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Enginner : NSObject 14 | 15 | + (void)sayHi:(NSString *)name age:(NSInteger)age; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /HotFix/TestCase/Enginner.m: -------------------------------------------------------------------------------- 1 | // 2 | // Enginner.m 3 | // Test 4 | // 5 | // Created by 杭城小刘 on 7/11/19. 6 | // Copyright © 2019 @杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Enginner.h" 10 | 11 | @implementation Enginner 12 | 13 | + (void)sayHi:(NSString *)name age:(NSInteger)age 14 | { 15 | NSLog(@"嗨,大家好,我是%@,我今年%zd岁了", name, age); 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /HotFix/TestCase/Tester.h: -------------------------------------------------------------------------------- 1 | // 2 | // Tester.h 3 | // Test 4 | // 5 | // Created by 杭城小刘 on 7/2/19. 6 | // Copyright © 2019 @杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Tester : NSObject 14 | 15 | - (double)divideUsingDenominator:(NSInteger)denominator; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /HotFix/TestCase/Tester.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // Tester.m 4 | // Test 5 | // 6 | // Created by 杭城小刘 on 7/2/19. 7 | // Copyright © 2019 @杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "Tester.h" 11 | 12 | @implementation Tester 13 | 14 | - (double)divideUsingDenominator:(NSInteger)denominator 15 | { 16 | return 1.0/denominator; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /HotFix/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // HotFix 4 | // 5 | // Created by 杭城小刘 on 2019/8/6. 6 | // Copyright © 2019 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /HotFix/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // HotFix 4 | // 5 | // Created by 杭城小刘 on 2019/8/6. 6 | // Copyright © 2019 杭城小刘. 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 | -------------------------------------------------------------------------------- /ImageDecode/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ImageDecode 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ImageDecode/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ImageDecode/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ImageDecode/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ImageDecode/Assets.xcassets/peacock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "peacock-1169961.jpg", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ImageDecode/Assets.xcassets/peacock.imageset/peacock-1169961.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/ImageDecode/Assets.xcassets/peacock.imageset/peacock-1169961.jpg -------------------------------------------------------------------------------- /ImageDecode/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // ImageDecode 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /ImageDecode/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ImageDecode 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ImageLoad/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ImageLoad 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ImageLoad/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ImageLoad/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ImageLoad/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ImageLoad/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // ImageLoad 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /ImageLoad/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ImageLoad 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ImageLoad/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // ImageLoad 4 | // 5 | // Created by Unix_Kernel on 7/17/24. 6 | // Copyright © 2024 杭城小刘. 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 | 20 | } 21 | 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /KVO 底层原理剖析/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // KVO 底层原理剖析 4 | // 5 | // Created by 杭城小刘 on 2018/3/26. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /KVO 底层原理剖析/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // KVO 底层原理剖析 4 | // 5 | // Created by 杭城小刘 on 2018/3/26. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /KVO 底层原理剖析/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // KVO 底层原理剖析 4 | // 5 | // Created by 杭城小刘 on 2018/3/26. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /LBPAttributedStringTools/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LBPAttributedStringTools 4 | // 5 | // Created by 刘斌鹏 on 2018/5/25. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /LBPAttributedStringTools/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /LBPAttributedStringTools/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LBPAttributedStringTools 4 | // 5 | // Created by 刘斌鹏 on 2018/5/25. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /LBPAttributedStringTools/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LBPAttributedStringTools 4 | // 5 | // Created by 刘斌鹏 on 2018/5/25. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /QQ粘性动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // QQ粘性动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /QQ粘性动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /QQ粘性动画/BageValue.h: -------------------------------------------------------------------------------- 1 | // 2 | // BageValue.h 3 | // QQ粘性动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BageValue : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /QQ粘性动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // QQ粘性动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UITableViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /QQ粘性动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // QQ粘性动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UIKit画图-画图片、图形 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/Assets.xcassets/way.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "way.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 | } -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/Assets.xcassets/way.imageset/way.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/UIKit画图-画图片、图形/Assets.xcassets/way.imageset/way.png -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/OperationView.h: -------------------------------------------------------------------------------- 1 | // 2 | // OperationView.h 3 | // UIKit画图-画图片、图形 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface OperationView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UIKit画图-画图片、图形 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /UIKit画图-画图片、图形/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UIKit画图-画图片、图形 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIKit画图-画文字/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UIKit画图-画文字 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIKit画图-画文字/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /UIKit画图-画文字/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UIKit画图-画文字 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /UIKit画图-画文字/WordView.h: -------------------------------------------------------------------------------- 1 | // 2 | // WordView.h 3 | // UIKit画图-画文字 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WordView : UIView 12 | 13 | @property (nonatomic, strong) NSString *word; 14 | 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /UIKit画图-画文字/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UIKit画图-画文字 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIWebView迁移到WKWebView/3dParty/YYFPSLabel/YYFPSLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYFPSLabel.h 3 | // YYKitExample 4 | // 5 | // Created by ibireme on 15/9/3. 6 | // Copyright (c) 2015 ibireme. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** 12 | Show Screen FPS... 13 | 14 | The maximum fps in OSX/iOS Simulator is 60.00. 15 | The maximum fps on iPhone is 59.97. 16 | The maxmium fps on iPad is 60.0. 17 | */ 18 | @interface YYFPSLabel : UILabel 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /UIWebView迁移到WKWebView/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UIWebView迁移到WKWebView 4 | // 5 | // Created by 杭城小刘 on 2017/8/29. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /UIWebView迁移到WKWebView/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UIWebView迁移到WKWebView 4 | // 5 | // Created by 杭城小刘 on 2017/8/29. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /UIWebView迁移到WKWebView/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UIWebView迁移到WKWebView 4 | // 5 | // Created by 杭城小刘 on 2017/8/29. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /hitTest的神奇效果(一)/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // hitTest的神奇效果(一) 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /hitTest的神奇效果(一)/ShelterView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ShelterView.h 3 | // hitTest的神奇效果(一) 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ShelterView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /hitTest的神奇效果(一)/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // hitTest的神奇效果(一) 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /hitTest的神奇效果(一)/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // hitTest的神奇效果(一) 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /image/2018-01-10 22_56_34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/2018-01-10 22_56_34.gif -------------------------------------------------------------------------------- /image/2018-01-10 23_23_06.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/2018-01-10 23_23_06.gif -------------------------------------------------------------------------------- /image/QQ20180610-225937-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-225937-HD.gif -------------------------------------------------------------------------------- /image/QQ20180610-235159@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235159@2x.png -------------------------------------------------------------------------------- /image/QQ20180610-235258-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235258-HD.gif -------------------------------------------------------------------------------- /image/QQ20180610-235342@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235342@2x.png -------------------------------------------------------------------------------- /image/QQ20180610-235402@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235402@2x.png -------------------------------------------------------------------------------- /image/QQ20180610-235439@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235439@2x.png -------------------------------------------------------------------------------- /image/QQ20180610-235637-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180610-235637-HD.gif -------------------------------------------------------------------------------- /image/QQ20180611-105040@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/QQ20180611-105040@2x.png -------------------------------------------------------------------------------- /image/屏幕快照 2018-01-02 下午10.12.57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/屏幕快照 2018-01-02 下午10.12.57.png -------------------------------------------------------------------------------- /image/抽奖转盘动画.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/image/抽奖转盘动画.gif -------------------------------------------------------------------------------- /native-JS/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // native-JS 4 | // 5 | // Created by 刘斌鹏 on 2018/6/14. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /native-JS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /native-JS/IMG_6493.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/native-JS/IMG_6493.png -------------------------------------------------------------------------------- /native-JS/PersonInject.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // PersonInject.m 4 | // native-JS 5 | // 6 | // Created by 刘斌鹏 on 2018/6/14. 7 | // Copyright © 2018年 杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "PersonInject.h" 11 | 12 | @implementation PersonInject 13 | 14 | - (id)sayHi{ 15 | return [NSString stringWithFormat:@"我叫%@,我喜欢%@",self.name,self.hobby]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /native-JS/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // native-JS 4 | // 5 | // Created by 刘斌鹏 on 2018/6/14. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /native-JS/index.js: -------------------------------------------------------------------------------- 1 | function printHello() { 2 | print("Hello, World!"); 3 | } 4 | -------------------------------------------------------------------------------- /native-JS/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // native-JS 4 | // 5 | // Created by 刘斌鹏 on 2018/6/14. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /view跟随手势拖动效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // view跟随手势拖动效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /view跟随手势拖动效果/RedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RedView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RedView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /view跟随手势拖动效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // view跟随手势拖动效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /view跟随手势拖动效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // view跟随手势拖动效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /下载进度条/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 下载进度条 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /下载进度条/ProgressView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProgressView.h 3 | // 下载进度条 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ProgressView : UIView 12 | 13 | @property (nonatomic, assign) CGFloat progress; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /下载进度条/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 下载进度条 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /下载进度条/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 下载进度条 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /僵尸对象探针/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 僵尸对象探针 4 | // 5 | // Created by LBP on 5/26/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /僵尸对象探针/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /僵尸对象探针/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /僵尸对象探针/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // 僵尸对象探针 4 | // 5 | // Created by LBP on 5/26/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /僵尸对象探针/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 僵尸对象探针 4 | // 5 | // Created by LBP on 5/26/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /僵尸对象探针/ZombieObjectDetector.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZombieObjectDetector.h 3 | // DDD 4 | // 5 | // Created by LBP on 5/14/22. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface ZombieObjectDetector : NSObject 13 | 14 | @end 15 | 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /僵尸对象探针/ZombieProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZombieProxy.h 3 | // DDD 4 | // 5 | // Created by LBP on 5/14/22. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface ZombieProxy : NSProxy 13 | 14 | @property (nonatomic, assign) Class originClass; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /动画组/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 动画组 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /动画组/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 动画组 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /动画组/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 动画组 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAnimal.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAnimal@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAnimalPressed.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAnimalPressed@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAstrology.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAstrology@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAstrologyPressed.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAstrologyPressed@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyBaseBackground@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 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/LuckyBaseBackground@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/LuckyBaseBackground@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyCenterButton@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 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/LuckyCenterButton@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/LuckyCenterButton@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyCenterButtonPressed@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 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/LuckyCenterButtonPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/LuckyCenterButtonPressed@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LuckyRotateWheel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LuckyRotateWheel@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 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LuckyRototeSelected.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LuckyRototeSelected@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 | } -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/动画组/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected@2x.png -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/WheelButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // WheelButton.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/15. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WheelButton : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/WheelView.h: -------------------------------------------------------------------------------- 1 | // 2 | // WheelView.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/15. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WheelView : UIView 12 | 13 | 14 | +(instancetype)wheelView; 15 | 16 | -(void)startRotate; 17 | 18 | -(void)pauseRotate; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /动画组/抽奖转盘动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/geek.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/geek.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/lbp.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/lbp.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/liubinpeng.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/liubinpeng.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/oker.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/oker.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/unix_kernel.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/博文对应的小实验.xcodeproj/project.xcworkspace/xcuserdata/unix_kernel.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /博文对应的小实验.xcodeproj/xcuserdata/oker.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /图像折叠动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图像折叠动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/22. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图像折叠动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /图像折叠动画/Assets.xcassets/pig.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "知道错了.jpg", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /图像折叠动画/Assets.xcassets/pig.imageset/知道错了.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/图像折叠动画/Assets.xcassets/pig.imageset/知道错了.jpg -------------------------------------------------------------------------------- /图像折叠动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图像折叠动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/22. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图像折叠动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图像折叠动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/22. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图形上下文状态栈/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图形上下文状态栈 4 | // 5 | // Created by 杭城小刘 on 2017/10/18. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图形上下文状态栈/DrawView.h: -------------------------------------------------------------------------------- 1 | // 2 | // DrawView.h 3 | // 图形上下文状态栈 4 | // 5 | // Created by 杭城小刘 on 2017/10/18. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DrawView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /图形上下文状态栈/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图形上下文状态栈 4 | // 5 | // Created by 杭城小刘 on 2017/10/18. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图形上下文状态栈/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图形上下文状态栈 4 | // 5 | // Created by 杭城小刘 on 2017/10/18. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图形上下文的矩阵操作/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图形上下文的矩阵操作 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图形上下文的矩阵操作/VCView.h: -------------------------------------------------------------------------------- 1 | // 2 | // VCView.h 3 | // 图形上下文的矩阵操作 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface VCView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /图形上下文的矩阵操作/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图形上下文的矩阵操作 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图形上下文的矩阵操作/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图形上下文的矩阵操作 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图标抖动动画(关键帧动画) 4 | // 5 | // Created by 杭城小刘 on 2018/1/11. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/Assets.xcassets/icon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon@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 | } -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/Assets.xcassets/icon.imageset/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/图标抖动动画(关键帧动画)/Assets.xcassets/icon.imageset/icon@2x.png -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图标抖动动画(关键帧动画) 4 | // 5 | // Created by 杭城小刘 on 2018/1/11. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图标抖动动画(关键帧动画)/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图标抖动动画(关键帧动画) 4 | // 5 | // Created by 杭城小刘 on 2018/1/11. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图片擦除效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图片擦除效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图片擦除效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /图片擦除效果/Assets.xcassets/onepiece.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "onepiece.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 | } -------------------------------------------------------------------------------- /图片擦除效果/Assets.xcassets/onepiece.imageset/onepiece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/图片擦除效果/Assets.xcassets/onepiece.imageset/onepiece.png -------------------------------------------------------------------------------- /图片擦除效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图片擦除效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图片擦除效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图片擦除效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图片部分区域截图/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 图片部分区域截图 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /图片部分区域截图/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /图片部分区域截图/Assets.xcassets/onepiece.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "onepiece.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /图片部分区域截图/Assets.xcassets/onepiece.imageset/onepiece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/图片部分区域截图/Assets.xcassets/onepiece.imageset/onepiece.png -------------------------------------------------------------------------------- /图片部分区域截图/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 图片部分区域截图 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /图片部分区域截图/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 图片部分区域截图 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /圆形图片裁剪/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 圆形图片裁剪 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /圆形图片裁剪/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /圆形图片裁剪/Assets.xcassets/onepiece.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "onepiece.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /圆形图片裁剪/Assets.xcassets/onepiece.imageset/onepiece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/圆形图片裁剪/Assets.xcassets/onepiece.imageset/onepiece.png -------------------------------------------------------------------------------- /圆形图片裁剪/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 圆形图片裁剪 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /圆形图片裁剪/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 圆形图片裁剪 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /基本图形绘制/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 基本图形绘制 4 | // 5 | // Created by 杭城小刘 on 2017/10/14. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /基本图形绘制/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 基本图形绘制 4 | // 5 | // Created by 杭城小刘 on 2017/10/14. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /基本图形绘制/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 基本图形绘制 4 | // 5 | // Created by 杭城小刘 on 2017/10/14. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /复制层应用1-音量柱动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UI动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. 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-音量柱动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /复制层应用1-音量柱动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UI动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /复制层应用1-音量柱动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UI动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. 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-倒影效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 复制层应用2 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. 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-倒影效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /复制层应用2-倒影效果/Assets.xcassets/raw.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "filename" : "raw@2x.png", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /复制层应用2-倒影效果/Assets.xcassets/raw.imageset/raw@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/复制层应用2-倒影效果/Assets.xcassets/raw.imageset/raw@2x.png -------------------------------------------------------------------------------- /复制层应用2-倒影效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 复制层应用2 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /复制层应用2-倒影效果/ViewControllerView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewControllerView.h 3 | // 复制层应用2 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewControllerView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /复制层应用2-倒影效果/ViewControllerView.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // ViewControllerView.m 4 | // 复制层应用2 5 | // 6 | // Created by 刘斌鹏 on 2018/6/5. 7 | // Copyright © 2018年 杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "ViewControllerView.h" 11 | 12 | @implementation ViewControllerView 13 | 14 | //该方法返回 UIView 的层 15 | //改写 UIView 的层:重写 layerClass 方法 16 | + (Class)layerClass{ 17 | return [CAReplicatorLayer class]; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /复制层应用2-倒影效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 复制层应用2 4 | // 5 | // Created by 刘斌鹏 on 2018/6/5. 6 | // Copyright © 2018年 杭城小刘. 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-粒子闪烁效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 复制层应用3-粒子闪烁效果 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. 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-粒子闪烁效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /复制层应用3-粒子闪烁效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 复制层应用3-粒子闪烁效果 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /复制层应用3-粒子闪烁效果/ViewControllerView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewControllerView.h 3 | // 复制层应用3-粒子闪烁效果 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewControllerView : UIView 12 | 13 | //开始动画 14 | - (void)startAnimation; 15 | 16 | //重绘 17 | - (void)redraw; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /复制层应用3-粒子闪烁效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 复制层应用3-粒子闪烁效果 4 | // 5 | // Created by 刘斌鹏 on 2018/6/6. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /外卖App双列表联动/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 外卖App双列表联动 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /外卖App双列表联动/Model/QuestionCollectionModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // QuestionCollectionModel.h 3 | // hzfb-patient 4 | // 5 | // Created by 杭城小刘 on 2017/9/22. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "YYModel.h" 11 | #import "QuestionModel.h" 12 | 13 | @interface QuestionCollectionModel : NSObject 14 | 15 | @property (nonatomic, strong) NSArray *questions; 16 | 17 | ///孕周 18 | @property (nonatomic, assign) NSInteger tag; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /外卖App双列表联动/Model/QuestionCollectionModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // QuestionCollectionModel.m 3 | // hzfb-patient 4 | // 5 | // Created by 杭城小刘 on 2017/9/22. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "QuestionCollectionModel.h" 10 | 11 | @implementation QuestionCollectionModel 12 | 13 | + (NSDictionary *)modelContainerPropertyGenericClass { 14 | return @{@"questions" : [QuestionModel class] }; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /外卖App双列表联动/Model/QuestionModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // QuestionModel.m 3 | // hzfb-patient 4 | // 5 | // Created by 杭城小刘 on 2017/9/4. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "QuestionModel.h" 10 | 11 | @implementation QuestionModel 12 | 13 | + (NSDictionary *)modelCustomPropertyMapper { 14 | return @{@"questionId" : @"id"}; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /外卖App双列表联动/View/PregnancyPeriodCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PregnancyPeriodCell.h 3 | // hzfb-patient 4 | // 5 | // Created by 杭城小刘 on 2017/9/22. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PregnancyPeriodCell : UITableViewCell 12 | 13 | @property (nonatomic, assign) NSInteger week; 14 | 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /外卖App双列表联动/View/QuestionCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // QuestionCell.h 3 | // hzfb-patient 4 | // 5 | // Created by 杭城小刘 on 2017/9/22. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "QuestionModel.h" 11 | 12 | @interface QuestionCell : UITableViewCell 13 | 14 | @property (nonatomic, strong) QuestionModel *model; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /外卖App双列表联动/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 外卖App双列表联动 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /外卖App双列表联动/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 外卖App双列表联动 4 | // 5 | // Created by 杭城小刘 on 2017/10/26. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 完美自定义键盘顶部 View 4 | // 5 | // Created by 杭城小刘 on 7/13/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/avator.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "avator@2x.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/avator.imageset/avator@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/完美自定义键盘顶部 View/Assets.xcassets/avator.imageset/avator@2x.png -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/scan.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "scan@2x.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/Assets.xcassets/scan.imageset/scan@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/完美自定义键盘顶部 View/Assets.xcassets/scan.imageset/scan@2x.png -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // 完美自定义键盘顶部 View 4 | // 5 | // Created by 杭城小刘 on 7/13/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/TestViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TestViewController.h 3 | // 完美自定义键盘顶部 View 4 | // 5 | // Created by 杭城小刘 on 7/13/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface TestViewController : UIViewController 14 | 15 | @property (nonatomic, strong) NSString *msg; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /完美自定义键盘顶部 View/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 完美自定义键盘顶部 View 4 | // 5 | // Created by 杭城小刘 on 7/13/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /定时器雪花飘落效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 定时器雪花飘落效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /定时器雪花飘落效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /定时器雪花飘落效果/Assets.xcassets/snow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "snow.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 | } -------------------------------------------------------------------------------- /定时器雪花飘落效果/Assets.xcassets/snow.imageset/snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/定时器雪花飘落效果/Assets.xcassets/snow.imageset/snow.png -------------------------------------------------------------------------------- /定时器雪花飘落效果/SnowView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SnowView.h 3 | // 定时器雪花飘落效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SnowView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /定时器雪花飘落效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 定时器雪花飘落效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /定时器雪花飘落效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 定时器雪花飘落效果 4 | // 5 | // Created by 杭城小刘 on 2017/10/17. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /常见系统手势/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 常见系统手势 4 | // 5 | // Created by 杭城小刘 on 2017/10/13. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imag1@2x.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 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag1.imageset/imag1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/常见系统手势/Assets.xcassets/imag1.imageset/imag1@2x.png -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imag2@2x.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 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag2.imageset/imag2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/常见系统手势/Assets.xcassets/imag2.imageset/imag2@2x.png -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imag3@2x.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 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag3.imageset/imag3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/常见系统手势/Assets.xcassets/imag3.imageset/imag3@2x.png -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imag4@2x.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 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag4.imageset/imag4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/常见系统手势/Assets.xcassets/imag4.imageset/imag4@2x.png -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imag5@2x.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 | } -------------------------------------------------------------------------------- /常见系统手势/Assets.xcassets/imag5.imageset/imag5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/常见系统手势/Assets.xcassets/imag5.imageset/imag5@2x.png -------------------------------------------------------------------------------- /常见系统手势/MyView.h: -------------------------------------------------------------------------------- 1 | // 2 | // MyView.h 3 | // 基本图形绘制 4 | // 5 | // Created by 杭城小刘 on 2017/10/14. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MyView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /常见系统手势/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 常见系统手势 4 | // 5 | // Created by 杭城小刘 on 2017/10/13. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /常见系统手势/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 常见系统手势 4 | // 5 | // Created by 杭城小刘 on 2017/10/13. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /微博发帖动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_background_icon_close.imageset/tabbar_compose_background_icon_close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_background_icon_close.imageset/tabbar_compose_background_icon_close@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_background_icon_close.imageset/tabbar_compose_background_icon_close@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_background_icon_close.imageset/tabbar_compose_background_icon_close@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_camera@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_camera@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_camera.imageset/tabbar_compose_camera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_camera.imageset/tabbar_compose_camera@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_camera.imageset/tabbar_compose_camera@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_camera.imageset/tabbar_compose_camera@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_idea.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_idea@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_idea@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_lbs.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_lbs@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_lbs@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_lbs.imageset/tabbar_compose_lbs@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_lbs.imageset/tabbar_compose_lbs@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_lbs.imageset/tabbar_compose_lbs@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_lbs.imageset/tabbar_compose_lbs@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_more@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_more@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_more.imageset/tabbar_compose_more@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_more.imageset/tabbar_compose_more@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_more.imageset/tabbar_compose_more@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_more.imageset/tabbar_compose_more@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_photo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_photo@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_photo@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_photo.imageset/tabbar_compose_photo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_photo.imageset/tabbar_compose_photo@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_photo.imageset/tabbar_compose_photo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_photo.imageset/tabbar_compose_photo@3x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_review.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_compose_review@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tabbar_compose_review@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_review.imageset/tabbar_compose_review@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_review.imageset/tabbar_compose_review@2x.png -------------------------------------------------------------------------------- /微博发帖动画/Assets.xcassets/tabbar_compose_review.imageset/tabbar_compose_review@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/微博发帖动画/Assets.xcassets/tabbar_compose_review.imageset/tabbar_compose_review@3x.png -------------------------------------------------------------------------------- /微博发帖动画/MuneItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // MuneItem.h 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | 10 | #import 11 | #import 12 | @interface MuneItem : NSObject 13 | 14 | //图片 15 | @property (nonatomic, strong) UIImage *image; 16 | //标题 17 | @property (nonatomic, strong) NSString *title; 18 | 19 | 20 | + (instancetype)itemWithTitle:(NSString *)title image:(UIImage *)image; 21 | 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /微博发帖动画/MuneItem.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // MuneItem.m 4 | // 微博发帖动画 5 | // 6 | // Created by 刘斌鹏 on 2018/6/10. 7 | // Copyright © 2018年 杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "MuneItem.h" 11 | 12 | @implementation MuneItem 13 | 14 | + (instancetype)itemWithTitle:(NSString *)title image:(UIImage *)image{ 15 | 16 | MuneItem *item = [[self alloc] init]; 17 | item.title = title; 18 | item.image = image; 19 | 20 | return item; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /微博发帖动画/OPerationViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // OPerationViewController.h 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface OPerationViewController : UIViewController 12 | 13 | 14 | @property (nonatomic, strong) NSArray *items; 15 | @end 16 | -------------------------------------------------------------------------------- /微博发帖动画/VerticalStyleButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // verticalStyleButton.h 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface VerticalStyleButton : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /微博发帖动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /微博发帖动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 微博发帖动画 4 | // 5 | // Created by 刘斌鹏 on 2018/6/10. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /心跳效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 心跳效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/10. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /心跳效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /心跳效果/Assets.xcassets/heart.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "心.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /心跳效果/Assets.xcassets/heart.imageset/心.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/心跳效果/Assets.xcassets/heart.imageset/心.png -------------------------------------------------------------------------------- /心跳效果/DatacurbHybrid.m: -------------------------------------------------------------------------------- 1 | // 2 | // DatacurbHybrid.m 3 | // 心跳效果 4 | // 5 | // Created by 刘斌鹏 on 2018/8/23. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "DatacurbHybrid.h" 10 | 11 | @implementation DatacurbHybrid 12 | 13 | 14 | - (NSString *)heartBreaker{ 15 | [self.viewcontroller heartJump]; 16 | return self.message; 17 | } 18 | 19 | - (void)stopHeart{ 20 | [self.viewcontroller stopHeart]; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /心跳效果/MBProgressHUD/.svn/prop-base/MBProgressHUD.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /心跳效果/MBProgressHUD/.svn/prop-base/MBProgressHUD.m.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /心跳效果/MBProgressHUD/.svn/text-base/MBProgressHUD+Add.h.svn-base: -------------------------------------------------------------------------------- 1 | // 2 | // MBProgressHUD+Add.h 3 | // 视频客户端 4 | // 5 | // Created by mj on 13-4-18. 6 | // Copyright (c) 2013年 itcast. All rights reserved. 7 | // 8 | 9 | #import "MBProgressHUD.h" 10 | 11 | @interface MBProgressHUD (Add) 12 | + (void)showError:(NSString *)error toView:(UIView *)view; 13 | + (void)showSuccess:(NSString *)success toView:(UIView *)view; 14 | 15 | + (MBProgressHUD *)showMessag:(NSString *)message toView:(UIView *)view; 16 | @end 17 | -------------------------------------------------------------------------------- /心跳效果/MBProgressHUD/MBProgressHUD+Add.h: -------------------------------------------------------------------------------- 1 | // 2 | // MBProgressHUD+Add.h 3 | // 视频客户端 4 | // 5 | // Created by mj on 13-4-18. 6 | // Copyright (c) 2013年 itcast. All rights reserved. 7 | // 8 | 9 | #import "MBProgressHUD.h" 10 | 11 | @interface MBProgressHUD (Add) 12 | + (void)showError:(NSString *)error toView:(UIView *)view; 13 | + (void)showSuccess:(NSString *)success toView:(UIView *)view; 14 | 15 | + (MBProgressHUD *)showMessag:(NSString *)message toView:(UIView *)view; 16 | @end 17 | -------------------------------------------------------------------------------- /心跳效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 心跳效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/10. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | - (void)stopHeart; 14 | - (void)heartJump; 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /心跳效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 心跳效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/10. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /心跳效果/music.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/心跳效果/music.mp3 -------------------------------------------------------------------------------- /手势解锁/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 手势解锁 4 | // 5 | // Created by 杭城小刘 on 2017/10/27. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/Home_refresh_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Home_refresh_bg.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 | } -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/Home_refresh_bg.imageset/Home_refresh_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/手势解锁/Assets.xcassets/Home_refresh_bg.imageset/Home_refresh_bg.png -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_highlighted.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gesture_node_highlighted.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "gesture_node_highlighted@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 | } -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_highlighted.imageset/gesture_node_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/手势解锁/Assets.xcassets/gesture_node_highlighted.imageset/gesture_node_highlighted.png -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_highlighted.imageset/gesture_node_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/手势解锁/Assets.xcassets/gesture_node_highlighted.imageset/gesture_node_highlighted@2x.png -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gesture_node_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "gesture_node_normal@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 | } -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_normal.imageset/gesture_node_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/手势解锁/Assets.xcassets/gesture_node_normal.imageset/gesture_node_normal.png -------------------------------------------------------------------------------- /手势解锁/Assets.xcassets/gesture_node_normal.imageset/gesture_node_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/手势解锁/Assets.xcassets/gesture_node_normal.imageset/gesture_node_normal@2x.png -------------------------------------------------------------------------------- /手势解锁/View/GestureView.h: -------------------------------------------------------------------------------- 1 | // 2 | // GestureView.h 3 | // 手势解锁 4 | // 5 | // Created by 杭城小刘 on 2017/10/29. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #define BGViewWidth 300 11 | 12 | @interface GestureView : UIView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /手势解锁/View/VCView.h: -------------------------------------------------------------------------------- 1 | // 2 | // VCView.h 3 | // 手势解锁 4 | // 5 | // Created by 杭城小刘 on 2017/10/27. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface VCView : UIView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /手势解锁/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 手势解锁 4 | // 5 | // Created by 杭城小刘 on 2017/10/27. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /手势解锁/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 手势解锁 4 | // 5 | // Created by 杭城小刘 on 2017/10/27. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /抽奖转盘动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/19. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAnimal.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAnimal@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAnimal.imageset/LuckyAnimal@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAnimalPressed.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAnimalPressed@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAnimalPressed.imageset/LuckyAnimalPressed@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAstrology.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAstrology@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAstrology.imageset/LuckyAstrology@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyAstrologyPressed.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "LuckyAstrologyPressed@2x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyAstrologyPressed.imageset/LuckyAstrologyPressed@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyBaseBackground@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 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/LuckyBaseBackground@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyBaseBackground.imageset/LuckyBaseBackground@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyCenterButton@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 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/LuckyCenterButton@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyCenterButton.imageset/LuckyCenterButton@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LuckyCenterButtonPressed@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 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/LuckyCenterButtonPressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyCenterButtonPressed.imageset/LuckyCenterButtonPressed@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LuckyRotateWheel.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LuckyRotateWheel@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 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyRotateWheel.imageset/LuckyRotateWheel@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LuckyRototeSelected.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LuckyRototeSelected@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 | } -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected.png -------------------------------------------------------------------------------- /抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/抽奖转盘动画/Assets.xcassets/LuckyRototeSelected.imageset/LuckyRototeSelected@2x.png -------------------------------------------------------------------------------- /抽奖转盘动画/View/WheelButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // WheelButton.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/15. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WheelButton : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /抽奖转盘动画/View/WheelView.h: -------------------------------------------------------------------------------- 1 | // 2 | // WheelView.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/15. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WheelView : UIView 12 | 13 | 14 | +(instancetype)wheelView; 15 | 16 | -(void)startRotate; 17 | 18 | -(void)pauseRotate; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /抽奖转盘动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/19. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /抽奖转盘动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 抽奖转盘动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/19. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /无用类检测/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /无用类检测/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /无用类检测/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /无用类检测/Dog.h: -------------------------------------------------------------------------------- 1 | // 2 | // Dog.h 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Dog : NSObject 14 | 15 | - (void)work; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /无用类检测/Dog.m: -------------------------------------------------------------------------------- 1 | // 2 | // Dog.m 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Dog.h" 10 | 11 | @implementation Dog 12 | 13 | - (void)work 14 | { 15 | NSLog(@"%s", __func__); 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /无用类检测/Person.h: -------------------------------------------------------------------------------- 1 | // 2 | // Person.h 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Person : NSObject 14 | 15 | - (void)work; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /无用类检测/Person.m: -------------------------------------------------------------------------------- 1 | // 2 | // Person.m 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "Person.h" 10 | 11 | @implementation Person 12 | 13 | - (void)work 14 | { 15 | NSLog(@"%s", __func__); 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /无用类检测/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /无用类检测/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 无用类检测 4 | // 5 | // Created by 杭城小刘 on 7/5/22. 6 | // Copyright © 2022 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /核心动画与UIView动画区别/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 核心动画与UIView动画区别 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /核心动画与UIView动画区别/RedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RedView.h 3 | // 核心动画与UIView动画区别 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RedView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /核心动画与UIView动画区别/RedView.m: -------------------------------------------------------------------------------- 1 | // 2 | // RedView.m 3 | // 核心动画与UIView动画区别 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "RedView.h" 10 | 11 | @implementation RedView 12 | 13 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 14 | NSLog(@"%s",__func__); 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /核心动画与UIView动画区别/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 核心动画与UIView动画区别 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /核心动画与UIView动画区别/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 核心动画与UIView动画区别 4 | // 5 | // Created by 杭城小刘 on 2018/1/13. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 模仿微信公众号网页效果,长按webview图片保存到相册 4 | // 5 | // Created by 杭城小刘 on 2017/8/24. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/IMG_6493.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/模仿微信公众号网页效果,长按webview图片保存到相册/IMG_6493.png -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/IMG_8390.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/模仿微信公众号网页效果,长按webview图片保存到相册/IMG_8390.JPG -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 模仿微信公众号网页效果,长按webview图片保存到相册 4 | // 5 | // Created by 杭城小刘 on 2017/8/24. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 模仿微信公众号网页效果,长按webview图片保存到相册 4 | // 5 | // Created by 杭城小刘 on 2017/8/24. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿微信公众号网页效果,长按webview图片保存到相册/product-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/模仿微信公众号网页效果,长按webview图片保存到相册/product-7.png -------------------------------------------------------------------------------- /模仿系统截屏/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 模仿系统截屏 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿系统截屏/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 模仿系统截屏 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /模仿系统截屏/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 模仿系统截屏 4 | // 5 | // Created by 杭城小刘 on 2017/10/25. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 模仿系统找出事件的最佳响应者 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BaseView.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BaseView : UIView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BaseView.m: -------------------------------------------------------------------------------- 1 | // 2 | // BaseView.m 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @implementation BaseView 12 | 13 | // __func__ 打印的是当前方法在哪个类里面调用 14 | //为了显示谁在调用,那么打印当前类即可 15 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 16 | NSLog(@"%@",[self class]); 17 | } 18 | 19 | 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BlueView.h: -------------------------------------------------------------------------------- 1 | // 2 | // BlueView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @interface BlueView : BaseView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BlueView.m: -------------------------------------------------------------------------------- 1 | // 2 | // BlueView.m 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BlueView.h" 10 | 11 | @implementation BlueView 12 | 13 | /* 14 | // Only override drawRect: if you perform custom drawing. 15 | // An empty implementation adversely affects performance during animation. 16 | - (void)drawRect:(CGRect)rect { 17 | // Drawing code 18 | } 19 | */ 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BrownView.h: -------------------------------------------------------------------------------- 1 | // 2 | // BrownView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @interface BrownView : BaseView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/BrownView.m: -------------------------------------------------------------------------------- 1 | // 2 | // BrownView.m 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BrownView.h" 10 | 11 | @implementation BrownView 12 | 13 | /* 14 | // Only override drawRect: if you perform custom drawing. 15 | // An empty implementation adversely affects performance during animation. 16 | - (void)drawRect:(CGRect)rect { 17 | // Drawing code 18 | } 19 | */ 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/GreenView.h: -------------------------------------------------------------------------------- 1 | // 2 | // GreenView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @interface GreenView : BaseView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/GreenView.m: -------------------------------------------------------------------------------- 1 | // 2 | // GreenView.m 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "GreenView.h" 10 | 11 | @implementation GreenView 12 | 13 | /* 14 | // Only override drawRect: if you perform custom drawing. 15 | // An empty implementation adversely affects performance during animation. 16 | - (void)drawRect:(CGRect)rect { 17 | // Drawing code 18 | } 19 | */ 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/Keywindow.h: -------------------------------------------------------------------------------- 1 | // 2 | // Keywindow.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Keywindow : UIWindow 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/OrangeView.h: -------------------------------------------------------------------------------- 1 | // 2 | // BView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @interface OrangeView : BaseView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/OrangeView.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // BView.m 4 | // 主流App框架 5 | // 6 | // Created by 杭城小刘 on 2017/10/11. 7 | // Copyright © 2017年 杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "OrangeView.h" 11 | 12 | @implementation OrangeView 13 | 14 | /* 15 | // Only override drawRect: if you perform custom drawing. 16 | // An empty implementation adversely affects performance during animation. 17 | - (void)drawRect:(CGRect)rect { 18 | // Drawing code 19 | } 20 | */ 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/WhiteView.h: -------------------------------------------------------------------------------- 1 | // 2 | // WhiteView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WhiteView : UIWindow 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/WhiteView.m: -------------------------------------------------------------------------------- 1 | // 2 | // WhiteView.m 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "WhiteView.h" 10 | 11 | @implementation WhiteView 12 | 13 | -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ 14 | NSLog(@"%s",__func__); 15 | return [super hitTest:point withEvent:event]; 16 | } 17 | 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/YellowView.h: -------------------------------------------------------------------------------- 1 | // 2 | // YellowView.h 3 | // 主流App框架 4 | // 5 | // Created by 杭城小刘 on 2017/10/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "BaseView.h" 10 | 11 | @interface YellowView : BaseView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/View/YellowView.m: -------------------------------------------------------------------------------- 1 | 2 | // 3 | // YellowView.m 4 | // 主流App框架 5 | // 6 | // Created by 杭城小刘 on 2017/10/11. 7 | // Copyright © 2017年 杭城小刘. All rights reserved. 8 | // 9 | 10 | #import "YellowView.h" 11 | 12 | @implementation YellowView 13 | 14 | /* 15 | // Only override drawRect: if you perform custom drawing. 16 | // An empty implementation adversely affects performance during animation. 17 | - (void)drawRect:(CGRect)rect { 18 | // Drawing code 19 | } 20 | */ 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 模仿系统找出事件的最佳响应者 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /模仿系统找出事件的最佳响应者/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 模仿系统找出事件的最佳响应者 4 | // 5 | // Created by 杭城小刘 on 2017/10/12. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /画板/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 画板 4 | // 5 | // Created by 杭城小刘 on 2017/12/11. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /画板/MyBezierPath.h: -------------------------------------------------------------------------------- 1 | // 2 | // MyBezierPath.h 3 | // 画板 4 | // 5 | // Created by 杭城小刘 on 2018/1/2. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MyBezierPath : UIBezierPath 12 | 13 | @property (nonatomic, strong) UIColor *color; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /画板/MyBezierPath.m: -------------------------------------------------------------------------------- 1 | // 2 | // MyBezierPath.m 3 | // 画板 4 | // 5 | // Created by 杭城小刘 on 2018/1/2. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "MyBezierPath.h" 10 | 11 | @implementation MyBezierPath 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /画板/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 画板 4 | // 5 | // Created by 杭城小刘 on 2017/12/11. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /画板/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 画板 4 | // 5 | // Created by 杭城小刘 on 2017/12/11. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /画饼图/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 画饼图 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /画饼图/PieView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PieView.h 3 | // 画饼图 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PieView : UIView 12 | 13 | @property (nonatomic, strong) NSArray *pies; 14 | 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /画饼图/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 画饼图 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /画饼图/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 画饼图 4 | // 5 | // Created by 杭城小刘 on 2017/10/15. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /登陆动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/9/9. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/hand.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "未标题-1.png" 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 | } -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/hand.imageset/未标题-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/登陆动画/Assets.xcassets/素材/hand.imageset/未标题-1.png -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login-arm-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "owl-login-arm-left@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login-arm-left.imageset/owl-login-arm-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/登陆动画/Assets.xcassets/素材/owl-login-arm-left.imageset/owl-login-arm-left@2x.png -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login-arm-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "owl-login-arm-right@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login-arm-right.imageset/owl-login-arm-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/登陆动画/Assets.xcassets/素材/owl-login-arm-right.imageset/owl-login-arm-right@2x.png -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "owl-login@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /登陆动画/Assets.xcassets/素材/owl-login.imageset/owl-login@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/登陆动画/Assets.xcassets/素材/owl-login.imageset/owl-login@2x.png -------------------------------------------------------------------------------- /登陆动画/Classes/Contacts(联系人)/Controller/ContactEditViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ContactEditViewController.h 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/10/9. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ContactsModel.h" 11 | 12 | @interface ContactEditViewController : UIViewController 13 | 14 | @property (nonatomic, strong) ContactsModel *model; 15 | 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /登陆动画/Classes/Contacts(联系人)/Controller/ContactsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ContactsViewController.h 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/10/7. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface ContactsViewController : UITableViewController 13 | 14 | 15 | 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /登陆动画/Classes/Contacts(联系人)/Model/ContactsModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // ContactsModel.h 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/10/8. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ContactsModel : NSObject 12 | 13 | @property (nonatomic, strong) NSString *name; 14 | 15 | @property (nonatomic, strong) NSString *phone; 16 | 17 | +(ContactsModel *)contactWithName:(NSString *)name phone:(NSString *)phone; 18 | 19 | 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /登陆动画/Classes/Contacts(联系人)/Model/ContactsModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // ContactsModel.m 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/10/8. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import "ContactsModel.h" 10 | 11 | @implementation ContactsModel 12 | 13 | 14 | +(ContactsModel *)contactWithName:(NSString *)name phone:(NSString *)phone{ 15 | ContactsModel *model = [[self alloc] init]; 16 | model.name = name; 17 | model.phone = phone; 18 | return model; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /登陆动画/Classes/Login(登录)/Controller/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/9/9. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /登陆动画/Classes/Login(登录)/View/LoginAnimationView.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoginAnimationView.h 3 | // 博文对应的小实验 4 | // 5 | // Created by 杭城小刘 on 2017/9/10. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LoginAnimationView : UIView 12 | 13 | 14 | +(instancetype)loginAnimationView; 15 | 16 | -(void)startAnimation:(BOOL)isClose; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /登陆动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 登陆动画 4 | // 5 | // Created by 杭城小刘 on 2017/9/9. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /系统时钟效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 系统时钟效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/8. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /系统时钟效果/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /系统时钟效果/Assets.xcassets/clock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "钟表.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 | } -------------------------------------------------------------------------------- /系统时钟效果/Assets.xcassets/clock.imageset/钟表.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/系统时钟效果/Assets.xcassets/clock.imageset/钟表.png -------------------------------------------------------------------------------- /系统时钟效果/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 系统时钟效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/8. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /系统时钟效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 系统时钟效果 4 | // 5 | // Created by 杭城小刘 on 2018/1/8. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /约束布局/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 约束布局 4 | // 5 | // Created by 刘斌鹏 on 2018/6/27. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /约束布局/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /约束布局/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 约束布局 4 | // 5 | // Created by 刘斌鹏 on 2018/6/27. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /约束布局/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 约束布局 4 | // 5 | // Created by 刘斌鹏 on 2018/6/27. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /终极截屏/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /终极截屏/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /终极截屏/ContentViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ContentViewController.h 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | typedef NS_ENUM(NSInteger,SnapshotType) { 13 | SnapshotType_Scrollview = 0, 14 | SnapshotType_UIWebView, 15 | SnapshotType_WkWebview 16 | }; 17 | 18 | @interface ContentViewController : UIViewController 19 | 20 | @property (nonatomic, assign) SnapshotType type; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /终极截屏/SnapshotDetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SnapshotDetailViewController.h 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SnapshotDetailViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /终极截屏/Source/LBPSnapshotManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // LBPSnapshotManager.h 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | 13 | @interface LBPSnapshotManager : NSObject 14 | 15 | 16 | + (LBPSnapshotManager *)sharedInstance; 17 | 18 | - (void)snapshotForView:(__kindof UIView *)view onView:(UIView *)view success:(void(^)(UIImage *snapshot))success; 19 | 20 | 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /终极截屏/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /终极截屏/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 终极截屏 4 | // 5 | // Created by 刘斌鹏 on 2018/6/19. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /给图片添加水印/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 给图片添加水印 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /给图片添加水印/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /给图片添加水印/Assets.xcassets/onepiece.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "onepiece.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /给图片添加水印/Assets.xcassets/onepiece.imageset/onepiece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/给图片添加水印/Assets.xcassets/onepiece.imageset/onepiece.png -------------------------------------------------------------------------------- /给图片添加水印/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 给图片添加水印 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /给图片添加水印/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 给图片添加水印 4 | // 5 | // Created by 杭城小刘 on 2017/10/19. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 裁剪带圆形边框的图片 4 | // 5 | // Created by 杭城小刘 on 2017/10/23. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/Assets.xcassets/onepiece.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "onepiece.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/Assets.xcassets/onepiece.imageset/onepiece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/裁剪带圆形边框的图片/Assets.xcassets/onepiece.imageset/onepiece.png -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 裁剪带圆形边框的图片 4 | // 5 | // Created by 杭城小刘 on 2017/10/23. 6 | // Copyright © 2017年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /裁剪带圆形边框的图片/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 裁剪带圆形边框的图片 4 | // 5 | // Created by 杭城小刘 on 2017/10/23. 6 | // Copyright © 2017年 杭城小刘. 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 | -------------------------------------------------------------------------------- /转场动画/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 转场动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/12. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/1.imageset/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/转场动画/Assets.xcassets/1.imageset/1.png -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "1.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/2.imageset/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/转场动画/Assets.xcassets/2.imageset/2.png -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "2.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/3.imageset/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FantasticLBP/BlogDemos/9497ee9647c1203fb2bdc6be00fabcb8f723181b/转场动画/Assets.xcassets/3.imageset/3.png -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "3.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /转场动画/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /转场动画/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 转场动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/12. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /转场动画/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 转场动画 4 | // 5 | // Created by 杭城小刘 on 2018/1/12. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /金额的格式化显示/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 金额的格式化显示 4 | // 5 | // Created by 刘斌鹏 on 2018/9/5. 6 | // Copyright © 2018年 杭城小刘. 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 | -------------------------------------------------------------------------------- /金额的格式化显示/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /金额的格式化显示/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 金额的格式化显示 4 | // 5 | // Created by 刘斌鹏 on 2018/9/5. 6 | // Copyright © 2018年 杭城小刘. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /金额的格式化显示/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 金额的格式化显示 4 | // 5 | // Created by 刘斌鹏 on 2018/9/5. 6 | // Copyright © 2018年 杭城小刘. 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 | --------------------------------------------------------------------------------