├── .gitignore ├── Example ├── Example.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── jiaxin.xcuserdatad │ │ └── xcschemes │ │ ├── Example.xcscheme │ │ └── xcschememanagement.plist ├── Example.xcworkspace │ └── contents.xcworkspacedata └── Example │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Configs │ ├── ArrowConfig.swift │ ├── FishLineConfig.swift │ ├── GrayRoundConfig.swift │ ├── ImageConfig.swift │ ├── ImageLineConfig.swift │ ├── NightBlueConfig.swift │ ├── RotateImageConfig.swift │ ├── ShadowConfig.swift │ ├── WhiteFillConfig.swift │ └── WhiteRoundConfig.swift │ ├── ExampleViewController.swift │ ├── Image │ ├── arrow.png │ ├── arrowRed.png │ ├── emoji1.png │ ├── emoji2.png │ ├── emoji3.png │ ├── fish.png │ ├── fishRed.png │ └── jinitaimei.jpg │ ├── Info.plist │ ├── PasswordConfigViewController.swift │ ├── PasswordManager.swift │ ├── SetupGuideViewController.swift │ └── ViewController.swift ├── JXPatternLock.podspec ├── JXPatternLock.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata ├── xcshareddata │ └── xcschemes │ │ └── JXPatternLock.xcscheme └── xcuserdata │ └── jiaxin.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── JXPatternLock ├── Info.plist └── JXPatternLock.h ├── LICENSE ├── README.md └── Sources ├── Core ├── ConnectLineView.swift ├── GridView.swift ├── LockConfig.swift └── PatternLockView.swift ├── ImageGridView.swift ├── ImageLineView.swift ├── PatternLockPathView.swift ├── RotateImageGridView.swift └── ShadowGridView.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/.gitignore -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Example/Example.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/Example.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/Example.xcscheme -------------------------------------------------------------------------------- /Example/Example.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /Example/Example.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Example/Example/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/AppDelegate.swift -------------------------------------------------------------------------------- /Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Example/Example/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Example/Example/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /Example/Example/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Example/Example/Configs/ArrowConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/ArrowConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/FishLineConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/FishLineConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/GrayRoundConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/GrayRoundConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/ImageConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/ImageConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/ImageLineConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/ImageLineConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/NightBlueConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/NightBlueConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/RotateImageConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/RotateImageConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/ShadowConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/ShadowConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/WhiteFillConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/WhiteFillConfig.swift -------------------------------------------------------------------------------- /Example/Example/Configs/WhiteRoundConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Configs/WhiteRoundConfig.swift -------------------------------------------------------------------------------- /Example/Example/ExampleViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/ExampleViewController.swift -------------------------------------------------------------------------------- /Example/Example/Image/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/arrow.png -------------------------------------------------------------------------------- /Example/Example/Image/arrowRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/arrowRed.png -------------------------------------------------------------------------------- /Example/Example/Image/emoji1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/emoji1.png -------------------------------------------------------------------------------- /Example/Example/Image/emoji2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/emoji2.png -------------------------------------------------------------------------------- /Example/Example/Image/emoji3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/emoji3.png -------------------------------------------------------------------------------- /Example/Example/Image/fish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/fish.png -------------------------------------------------------------------------------- /Example/Example/Image/fishRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/fishRed.png -------------------------------------------------------------------------------- /Example/Example/Image/jinitaimei.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Image/jinitaimei.jpg -------------------------------------------------------------------------------- /Example/Example/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/Info.plist -------------------------------------------------------------------------------- /Example/Example/PasswordConfigViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/PasswordConfigViewController.swift -------------------------------------------------------------------------------- /Example/Example/PasswordManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/PasswordManager.swift -------------------------------------------------------------------------------- /Example/Example/SetupGuideViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/SetupGuideViewController.swift -------------------------------------------------------------------------------- /Example/Example/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Example/Example/ViewController.swift -------------------------------------------------------------------------------- /JXPatternLock.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock.podspec -------------------------------------------------------------------------------- /JXPatternLock.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /JXPatternLock.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /JXPatternLock.xcodeproj/xcshareddata/xcschemes/JXPatternLock.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock.xcodeproj/xcshareddata/xcschemes/JXPatternLock.xcscheme -------------------------------------------------------------------------------- /JXPatternLock.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock.xcodeproj/xcuserdata/jiaxin.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /JXPatternLock/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock/Info.plist -------------------------------------------------------------------------------- /JXPatternLock/JXPatternLock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/JXPatternLock/JXPatternLock.h -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/README.md -------------------------------------------------------------------------------- /Sources/Core/ConnectLineView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/Core/ConnectLineView.swift -------------------------------------------------------------------------------- /Sources/Core/GridView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/Core/GridView.swift -------------------------------------------------------------------------------- /Sources/Core/LockConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/Core/LockConfig.swift -------------------------------------------------------------------------------- /Sources/Core/PatternLockView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/Core/PatternLockView.swift -------------------------------------------------------------------------------- /Sources/ImageGridView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/ImageGridView.swift -------------------------------------------------------------------------------- /Sources/ImageLineView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/ImageLineView.swift -------------------------------------------------------------------------------- /Sources/PatternLockPathView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/PatternLockPathView.swift -------------------------------------------------------------------------------- /Sources/RotateImageGridView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/RotateImageGridView.swift -------------------------------------------------------------------------------- /Sources/ShadowGridView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pujiaxin33/JXPatternLock/HEAD/Sources/ShadowGridView.swift --------------------------------------------------------------------------------