commit 35433e59e84d1ab5f9e8e429a7d2d6d8486072a3 Author: 忆海16 <> Date: Tue Sep 3 09:42:18 2024 +0800 wallpaperAI diff --git a/Podfile b/Podfile new file mode 100644 index 0000000..c24093e --- /dev/null +++ b/Podfile @@ -0,0 +1,21 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'wallpaper_BProject' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for wallpaper_BProject + pod 'SnapKit' + pod 'IQKeyboardManagerSwift' + pod 'BRPickerView' + pod 'Alamofire' + pod 'FSPagerView' + pod 'SVProgressHUD' + pod 'JXSegmentedView' + pod 'GYSide' + pod 'MJExtension' + pod 'MJRefresh' + pod 'SDWebImage' + +end diff --git a/wallpaper_BProject.xcodeproj/project.pbxproj b/wallpaper_BProject.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d1c037f --- /dev/null +++ b/wallpaper_BProject.xcodeproj/project.pbxproj @@ -0,0 +1,731 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 2902F06D986615E685CF8F03 /* Pods_wallpaper_BProject.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9209E4A8EAAC3ADF69414885 /* Pods_wallpaper_BProject.framework */; }; + 750B32432C8565950043BC13 /* SegmentedPageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 750B323F2C8565950043BC13 /* SegmentedPageViewController.swift */; }; + 750B32442C8565950043BC13 /* SPSegmentedControll.swift in Sources */ = {isa = PBXBuildFile; fileRef = 750B32402C8565950043BC13 /* SPSegmentedControll.swift */; }; + 750B32452C8565950043BC13 /* SPSegmentedControllItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 750B32412C8565950043BC13 /* SPSegmentedControllItem.swift */; }; + 75373B892C859DC7002D37EB /* NW_LauncVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75373B872C859DC7002D37EB /* NW_LauncVC.swift */; }; + 75373B8A2C859DC7002D37EB /* NW_LauncVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75373B882C859DC7002D37EB /* NW_LauncVC.xib */; }; + 756496992C815BF6009976AE /* NW_CommunityCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 756496972C815BF6009976AE /* NW_CommunityCell.swift */; }; + 7564969A2C815BF6009976AE /* NW_CommunityCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 756496982C815BF6009976AE /* NW_CommunityCell.xib */; }; + 757405A12C816ADC0096CE18 /* Ranking.json in Resources */ = {isa = PBXBuildFile; fileRef = 757405A02C816ACD0096CE18 /* Ranking.json */; }; + 757405A42C816EC90096CE18 /* NW_RankingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757405A32C816EC90096CE18 /* NW_RankingModel.swift */; }; + 757405A72C81954A0096CE18 /* NW_RankingFSpageCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 757405A62C81954A0096CE18 /* NW_RankingFSpageCell.xib */; }; + 757405A82C81954A0096CE18 /* NW_RankingFSpageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757405A52C81954A0096CE18 /* NW_RankingFSpageCell.swift */; }; + 757405AC2C81B96C0096CE18 /* CustomIndicatorImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757405AB2C81B96C0096CE18 /* CustomIndicatorImageView.swift */; }; + 759C5C3D2C7EFDCE001FCB67 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C3C2C7EFDCE001FCB67 /* AppDelegate.swift */; }; + 759C5C412C7EFDCE001FCB67 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C402C7EFDCE001FCB67 /* ViewController.swift */; }; + 759C5C442C7EFDCE001FCB67 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C432C7EFDCE001FCB67 /* Base */; }; + 759C5C462C7EFDD2001FCB67 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C452C7EFDD2001FCB67 /* Assets.xcassets */; }; + 759C5C492C7EFDD2001FCB67 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C482C7EFDD2001FCB67 /* Base */; }; + 759C5C522C7EFEB8001FCB67 /* NW_RootVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C512C7EFEB8001FCB67 /* NW_RootVC.swift */; }; + 759C5C542C7EFF25001FCB67 /* NW_RootNAVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C532C7EFF25001FCB67 /* NW_RootNAVC.swift */; }; + 759C5C562C7EFF3C001FCB67 /* NW_RootTabBarVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C552C7EFF3C001FCB67 /* NW_RootTabBarVC.swift */; }; + 759C5C632C7F18F7001FCB67 /* NW_HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C612C7F18F7001FCB67 /* NW_HomeVC.swift */; }; + 759C5C642C7F18F7001FCB67 /* NW_HomeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C622C7F18F7001FCB67 /* NW_HomeVC.xib */; }; + 759C5C6D2C7F1937001FCB67 /* NW_CommunityVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C6B2C7F1937001FCB67 /* NW_CommunityVC.swift */; }; + 759C5C6E2C7F1937001FCB67 /* NW_CommunityVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C6C2C7F1937001FCB67 /* NW_CommunityVC.xib */; }; + 759C5C712C7F1949001FCB67 /* NW_MineVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C6F2C7F1949001FCB67 /* NW_MineVC.swift */; }; + 759C5C722C7F1949001FCB67 /* NW_MineVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C702C7F1949001FCB67 /* NW_MineVC.xib */; }; + 759C5C752C7F195C001FCB67 /* NW_RankingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759C5C732C7F195C001FCB67 /* NW_RankingVC.swift */; }; + 759C5C762C7F195C001FCB67 /* NW_RankingVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759C5C742C7F195C001FCB67 /* NW_RankingVC.xib */; }; + 75A998282C804368007E2DCA /* color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A998272C804368007E2DCA /* color.swift */; }; + 75A9982C2C8057B5007E2DCA /* NW_PGBannerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A9982A2C8057B5007E2DCA /* NW_PGBannerCell.swift */; }; + 75A9982D2C8057B5007E2DCA /* NW_PGBannerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A9982B2C8057B5007E2DCA /* NW_PGBannerCell.xib */; }; + 75A998312C805972007E2DCA /* NW_JXOneVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A9982F2C805971007E2DCA /* NW_JXOneVC.swift */; }; + 75A998322C805972007E2DCA /* NW_JXOneVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A998302C805971007E2DCA /* NW_JXOneVC.xib */; }; + 75A998372C80598D007E2DCA /* NW_JXTwoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A998352C80598D007E2DCA /* NW_JXTwoVC.swift */; }; + 75A998382C80598D007E2DCA /* NW_JXTwoVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A998362C80598D007E2DCA /* NW_JXTwoVC.xib */; }; + 75A9983B2C80599C007E2DCA /* NW_JXThreeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A998392C80599C007E2DCA /* NW_JXThreeVC.swift */; }; + 75A9983C2C80599C007E2DCA /* NW_JXThreeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A9983A2C80599C007E2DCA /* NW_JXThreeVC.xib */; }; + 75A9983F2C805CCB007E2DCA /* NW_WallpaperCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A9983D2C805CCB007E2DCA /* NW_WallpaperCollectionCell.swift */; }; + 75A998402C805CCB007E2DCA /* NW_WallpaperCollectionCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A9983E2C805CCB007E2DCA /* NW_WallpaperCollectionCell.xib */; }; + 75A998422C80600B007E2DCA /* WaterfallFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A998412C80600B007E2DCA /* WaterfallFlowLayout.swift */; }; + 75A998462C80718F007E2DCA /* NW_RankingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A998442C80718F007E2DCA /* NW_RankingCell.swift */; }; + 75A998472C80718F007E2DCA /* NW_RankingCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75A998452C80718F007E2DCA /* NW_RankingCell.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 187497666FAFB0D4BB4CB9CB /* Pods-wallpaper_BProject.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wallpaper_BProject.release.xcconfig"; path = "Target Support Files/Pods-wallpaper_BProject/Pods-wallpaper_BProject.release.xcconfig"; sourceTree = ""; }; + 5D447EB98EE5070AB5D117F1 /* Pods-wallpaper_BProject.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wallpaper_BProject.debug.xcconfig"; path = "Target Support Files/Pods-wallpaper_BProject/Pods-wallpaper_BProject.debug.xcconfig"; sourceTree = ""; }; + 750B323F2C8565950043BC13 /* SegmentedPageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SegmentedPageViewController.swift; sourceTree = ""; }; + 750B32402C8565950043BC13 /* SPSegmentedControll.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SPSegmentedControll.swift; sourceTree = ""; }; + 750B32412C8565950043BC13 /* SPSegmentedControllItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SPSegmentedControllItem.swift; sourceTree = ""; }; + 75373B872C859DC7002D37EB /* NW_LauncVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_LauncVC.swift; sourceTree = ""; }; + 75373B882C859DC7002D37EB /* NW_LauncVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_LauncVC.xib; sourceTree = ""; }; + 756496972C815BF6009976AE /* NW_CommunityCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_CommunityCell.swift; sourceTree = ""; }; + 756496982C815BF6009976AE /* NW_CommunityCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_CommunityCell.xib; sourceTree = ""; }; + 757405A02C816ACD0096CE18 /* Ranking.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Ranking.json; sourceTree = ""; }; + 757405A32C816EC90096CE18 /* NW_RankingModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RankingModel.swift; sourceTree = ""; }; + 757405A52C81954A0096CE18 /* NW_RankingFSpageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RankingFSpageCell.swift; sourceTree = ""; }; + 757405A62C81954A0096CE18 /* NW_RankingFSpageCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_RankingFSpageCell.xib; sourceTree = ""; }; + 757405AB2C81B96C0096CE18 /* CustomIndicatorImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomIndicatorImageView.swift; sourceTree = ""; }; + 759C5C392C7EFDCE001FCB67 /* wallpaper_BProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = wallpaper_BProject.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 759C5C3C2C7EFDCE001FCB67 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 759C5C402C7EFDCE001FCB67 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 759C5C432C7EFDCE001FCB67 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 759C5C452C7EFDD2001FCB67 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 759C5C482C7EFDD2001FCB67 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 759C5C4A2C7EFDD2001FCB67 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 759C5C512C7EFEB8001FCB67 /* NW_RootVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RootVC.swift; sourceTree = ""; }; + 759C5C532C7EFF25001FCB67 /* NW_RootNAVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RootNAVC.swift; sourceTree = ""; }; + 759C5C552C7EFF3C001FCB67 /* NW_RootTabBarVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RootTabBarVC.swift; sourceTree = ""; }; + 759C5C612C7F18F7001FCB67 /* NW_HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_HomeVC.swift; sourceTree = ""; }; + 759C5C622C7F18F7001FCB67 /* NW_HomeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_HomeVC.xib; sourceTree = ""; }; + 759C5C6B2C7F1937001FCB67 /* NW_CommunityVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_CommunityVC.swift; sourceTree = ""; }; + 759C5C6C2C7F1937001FCB67 /* NW_CommunityVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_CommunityVC.xib; sourceTree = ""; }; + 759C5C6F2C7F1949001FCB67 /* NW_MineVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_MineVC.swift; sourceTree = ""; }; + 759C5C702C7F1949001FCB67 /* NW_MineVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_MineVC.xib; sourceTree = ""; }; + 759C5C732C7F195C001FCB67 /* NW_RankingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RankingVC.swift; sourceTree = ""; }; + 759C5C742C7F195C001FCB67 /* NW_RankingVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_RankingVC.xib; sourceTree = ""; }; + 75A998272C804368007E2DCA /* color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = color.swift; sourceTree = ""; }; + 75A9982A2C8057B5007E2DCA /* NW_PGBannerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_PGBannerCell.swift; sourceTree = ""; }; + 75A9982B2C8057B5007E2DCA /* NW_PGBannerCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_PGBannerCell.xib; sourceTree = ""; }; + 75A9982F2C805971007E2DCA /* NW_JXOneVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_JXOneVC.swift; sourceTree = ""; }; + 75A998302C805971007E2DCA /* NW_JXOneVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_JXOneVC.xib; sourceTree = ""; }; + 75A998352C80598D007E2DCA /* NW_JXTwoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_JXTwoVC.swift; sourceTree = ""; }; + 75A998362C80598D007E2DCA /* NW_JXTwoVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_JXTwoVC.xib; sourceTree = ""; }; + 75A998392C80599C007E2DCA /* NW_JXThreeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_JXThreeVC.swift; sourceTree = ""; }; + 75A9983A2C80599C007E2DCA /* NW_JXThreeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_JXThreeVC.xib; sourceTree = ""; }; + 75A9983D2C805CCB007E2DCA /* NW_WallpaperCollectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_WallpaperCollectionCell.swift; sourceTree = ""; }; + 75A9983E2C805CCB007E2DCA /* NW_WallpaperCollectionCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_WallpaperCollectionCell.xib; sourceTree = ""; }; + 75A998412C80600B007E2DCA /* WaterfallFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaterfallFlowLayout.swift; sourceTree = ""; }; + 75A998442C80718F007E2DCA /* NW_RankingCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NW_RankingCell.swift; sourceTree = ""; }; + 75A998452C80718F007E2DCA /* NW_RankingCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NW_RankingCell.xib; sourceTree = ""; }; + 9209E4A8EAAC3ADF69414885 /* Pods_wallpaper_BProject.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_wallpaper_BProject.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 759C5C362C7EFDCE001FCB67 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2902F06D986615E685CF8F03 /* Pods_wallpaper_BProject.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 275B09557A545E072A9CEFAE /* Pods */ = { + isa = PBXGroup; + children = ( + 5D447EB98EE5070AB5D117F1 /* Pods-wallpaper_BProject.debug.xcconfig */, + 187497666FAFB0D4BB4CB9CB /* Pods-wallpaper_BProject.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 750B32422C8565950043BC13 /* SegmentedPageViewController */ = { + isa = PBXGroup; + children = ( + 750B323F2C8565950043BC13 /* SegmentedPageViewController.swift */, + 750B32402C8565950043BC13 /* SPSegmentedControll.swift */, + 750B32412C8565950043BC13 /* SPSegmentedControllItem.swift */, + ); + path = SegmentedPageViewController; + sourceTree = ""; + }; + 7574059F2C816AC30096CE18 /* Json */ = { + isa = PBXGroup; + children = ( + 757405A02C816ACD0096CE18 /* Ranking.json */, + ); + path = Json; + sourceTree = ""; + }; + 757405A22C816EB40096CE18 /* M */ = { + isa = PBXGroup; + children = ( + 757405A32C816EC90096CE18 /* NW_RankingModel.swift */, + ); + path = M; + sourceTree = ""; + }; + 759C5C302C7EFDCE001FCB67 = { + isa = PBXGroup; + children = ( + 759C5C3B2C7EFDCE001FCB67 /* wallpaper_BProject */, + 759C5C3A2C7EFDCE001FCB67 /* Products */, + 275B09557A545E072A9CEFAE /* Pods */, + D156A583ED8767EF4F1CA53F /* Frameworks */, + ); + sourceTree = ""; + }; + 759C5C3A2C7EFDCE001FCB67 /* Products */ = { + isa = PBXGroup; + children = ( + 759C5C392C7EFDCE001FCB67 /* wallpaper_BProject.app */, + ); + name = Products; + sourceTree = ""; + }; + 759C5C3B2C7EFDCE001FCB67 /* wallpaper_BProject */ = { + isa = PBXGroup; + children = ( + 75A998262C80434D007E2DCA /* Tool */, + 759C5C5A2C7F1891001FCB67 /* Ranking */, + 759C5C592C7F1881001FCB67 /* Mine */, + 759C5C582C7F1879001FCB67 /* Community */, + 759C5C572C7F1865001FCB67 /* Home */, + 759C5C502C7EFE9F001FCB67 /* Main */, + 759C5C3C2C7EFDCE001FCB67 /* AppDelegate.swift */, + 759C5C402C7EFDCE001FCB67 /* ViewController.swift */, + 759C5C422C7EFDCE001FCB67 /* Main.storyboard */, + 759C5C452C7EFDD2001FCB67 /* Assets.xcassets */, + 759C5C472C7EFDD2001FCB67 /* LaunchScreen.storyboard */, + 759C5C4A2C7EFDD2001FCB67 /* Info.plist */, + ); + path = wallpaper_BProject; + sourceTree = ""; + }; + 759C5C502C7EFE9F001FCB67 /* Main */ = { + isa = PBXGroup; + children = ( + 759C5C512C7EFEB8001FCB67 /* NW_RootVC.swift */, + 759C5C532C7EFF25001FCB67 /* NW_RootNAVC.swift */, + 759C5C552C7EFF3C001FCB67 /* NW_RootTabBarVC.swift */, + 75373B872C859DC7002D37EB /* NW_LauncVC.swift */, + 75373B882C859DC7002D37EB /* NW_LauncVC.xib */, + ); + path = Main; + sourceTree = ""; + }; + 759C5C572C7F1865001FCB67 /* Home */ = { + isa = PBXGroup; + children = ( + 75A998292C805791007E2DCA /* V */, + 759C5C5B2C7F18A8001FCB67 /* C */, + ); + path = Home; + sourceTree = ""; + }; + 759C5C582C7F1879001FCB67 /* Community */ = { + isa = PBXGroup; + children = ( + 75A998482C807CE4007E2DCA /* V */, + 759C5C5C2C7F18AC001FCB67 /* C */, + ); + path = Community; + sourceTree = ""; + }; + 759C5C592C7F1881001FCB67 /* Mine */ = { + isa = PBXGroup; + children = ( + 759C5C5D2C7F18B0001FCB67 /* C */, + ); + path = Mine; + sourceTree = ""; + }; + 759C5C5A2C7F1891001FCB67 /* Ranking */ = { + isa = PBXGroup; + children = ( + 757405A22C816EB40096CE18 /* M */, + 75A998432C80717A007E2DCA /* V */, + 759C5C5E2C7F18B4001FCB67 /* C */, + ); + path = Ranking; + sourceTree = ""; + }; + 759C5C5B2C7F18A8001FCB67 /* C */ = { + isa = PBXGroup; + children = ( + 75A9982E2C805941007E2DCA /* JX */, + 759C5C612C7F18F7001FCB67 /* NW_HomeVC.swift */, + 759C5C622C7F18F7001FCB67 /* NW_HomeVC.xib */, + ); + path = C; + sourceTree = ""; + }; + 759C5C5C2C7F18AC001FCB67 /* C */ = { + isa = PBXGroup; + children = ( + 759C5C6B2C7F1937001FCB67 /* NW_CommunityVC.swift */, + 759C5C6C2C7F1937001FCB67 /* NW_CommunityVC.xib */, + ); + path = C; + sourceTree = ""; + }; + 759C5C5D2C7F18B0001FCB67 /* C */ = { + isa = PBXGroup; + children = ( + 759C5C6F2C7F1949001FCB67 /* NW_MineVC.swift */, + 759C5C702C7F1949001FCB67 /* NW_MineVC.xib */, + ); + path = C; + sourceTree = ""; + }; + 759C5C5E2C7F18B4001FCB67 /* C */ = { + isa = PBXGroup; + children = ( + 759C5C732C7F195C001FCB67 /* NW_RankingVC.swift */, + 759C5C742C7F195C001FCB67 /* NW_RankingVC.xib */, + ); + path = C; + sourceTree = ""; + }; + 75A998262C80434D007E2DCA /* Tool */ = { + isa = PBXGroup; + children = ( + 750B32422C8565950043BC13 /* SegmentedPageViewController */, + 7574059F2C816AC30096CE18 /* Json */, + 75A998272C804368007E2DCA /* color.swift */, + 75A998412C80600B007E2DCA /* WaterfallFlowLayout.swift */, + 757405AB2C81B96C0096CE18 /* CustomIndicatorImageView.swift */, + ); + path = Tool; + sourceTree = ""; + }; + 75A998292C805791007E2DCA /* V */ = { + isa = PBXGroup; + children = ( + 75A9982A2C8057B5007E2DCA /* NW_PGBannerCell.swift */, + 75A9982B2C8057B5007E2DCA /* NW_PGBannerCell.xib */, + 75A9983D2C805CCB007E2DCA /* NW_WallpaperCollectionCell.swift */, + 75A9983E2C805CCB007E2DCA /* NW_WallpaperCollectionCell.xib */, + ); + path = V; + sourceTree = ""; + }; + 75A9982E2C805941007E2DCA /* JX */ = { + isa = PBXGroup; + children = ( + 75A9982F2C805971007E2DCA /* NW_JXOneVC.swift */, + 75A998302C805971007E2DCA /* NW_JXOneVC.xib */, + 75A998352C80598D007E2DCA /* NW_JXTwoVC.swift */, + 75A998362C80598D007E2DCA /* NW_JXTwoVC.xib */, + 75A998392C80599C007E2DCA /* NW_JXThreeVC.swift */, + 75A9983A2C80599C007E2DCA /* NW_JXThreeVC.xib */, + ); + path = JX; + sourceTree = ""; + }; + 75A998432C80717A007E2DCA /* V */ = { + isa = PBXGroup; + children = ( + 75A998442C80718F007E2DCA /* NW_RankingCell.swift */, + 75A998452C80718F007E2DCA /* NW_RankingCell.xib */, + 757405A52C81954A0096CE18 /* NW_RankingFSpageCell.swift */, + 757405A62C81954A0096CE18 /* NW_RankingFSpageCell.xib */, + ); + path = V; + sourceTree = ""; + }; + 75A998482C807CE4007E2DCA /* V */ = { + isa = PBXGroup; + children = ( + 756496972C815BF6009976AE /* NW_CommunityCell.swift */, + 756496982C815BF6009976AE /* NW_CommunityCell.xib */, + ); + path = V; + sourceTree = ""; + }; + D156A583ED8767EF4F1CA53F /* Frameworks */ = { + isa = PBXGroup; + children = ( + 9209E4A8EAAC3ADF69414885 /* Pods_wallpaper_BProject.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 759C5C382C7EFDCE001FCB67 /* wallpaper_BProject */ = { + isa = PBXNativeTarget; + buildConfigurationList = 759C5C4D2C7EFDD2001FCB67 /* Build configuration list for PBXNativeTarget "wallpaper_BProject" */; + buildPhases = ( + 6F31EDBD7CC0232646C0D180 /* [CP] Check Pods Manifest.lock */, + 759C5C352C7EFDCE001FCB67 /* Sources */, + 759C5C362C7EFDCE001FCB67 /* Frameworks */, + 759C5C372C7EFDCE001FCB67 /* Resources */, + 2098BFE7F8BC0967589C93B9 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = wallpaper_BProject; + productName = wallpaper_BProject; + productReference = 759C5C392C7EFDCE001FCB67 /* wallpaper_BProject.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 759C5C312C7EFDCE001FCB67 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + CLASSPREFIX = NW_; + LastSwiftUpdateCheck = 1530; + LastUpgradeCheck = 1530; + TargetAttributes = { + 759C5C382C7EFDCE001FCB67 = { + CreatedOnToolsVersion = 15.3; + }; + }; + }; + buildConfigurationList = 759C5C342C7EFDCE001FCB67 /* Build configuration list for PBXProject "wallpaper_BProject" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 759C5C302C7EFDCE001FCB67; + productRefGroup = 759C5C3A2C7EFDCE001FCB67 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 759C5C382C7EFDCE001FCB67 /* wallpaper_BProject */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 759C5C372C7EFDCE001FCB67 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 75373B8A2C859DC7002D37EB /* NW_LauncVC.xib in Resources */, + 759C5C642C7F18F7001FCB67 /* NW_HomeVC.xib in Resources */, + 759C5C462C7EFDD2001FCB67 /* Assets.xcassets in Resources */, + 759C5C762C7F195C001FCB67 /* NW_RankingVC.xib in Resources */, + 759C5C722C7F1949001FCB67 /* NW_MineVC.xib in Resources */, + 75A9983C2C80599C007E2DCA /* NW_JXThreeVC.xib in Resources */, + 759C5C6E2C7F1937001FCB67 /* NW_CommunityVC.xib in Resources */, + 75A9982D2C8057B5007E2DCA /* NW_PGBannerCell.xib in Resources */, + 75A998382C80598D007E2DCA /* NW_JXTwoVC.xib in Resources */, + 75A998322C805972007E2DCA /* NW_JXOneVC.xib in Resources */, + 75A998472C80718F007E2DCA /* NW_RankingCell.xib in Resources */, + 759C5C492C7EFDD2001FCB67 /* Base in Resources */, + 757405A12C816ADC0096CE18 /* Ranking.json in Resources */, + 759C5C442C7EFDCE001FCB67 /* Base in Resources */, + 757405A72C81954A0096CE18 /* NW_RankingFSpageCell.xib in Resources */, + 7564969A2C815BF6009976AE /* NW_CommunityCell.xib in Resources */, + 75A998402C805CCB007E2DCA /* NW_WallpaperCollectionCell.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 2098BFE7F8BC0967589C93B9 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-wallpaper_BProject/Pods-wallpaper_BProject-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-wallpaper_BProject/Pods-wallpaper_BProject-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-wallpaper_BProject/Pods-wallpaper_BProject-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 6F31EDBD7CC0232646C0D180 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-wallpaper_BProject-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 759C5C352C7EFDCE001FCB67 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 759C5C712C7F1949001FCB67 /* NW_MineVC.swift in Sources */, + 759C5C6D2C7F1937001FCB67 /* NW_CommunityVC.swift in Sources */, + 759C5C412C7EFDCE001FCB67 /* ViewController.swift in Sources */, + 75A998282C804368007E2DCA /* color.swift in Sources */, + 750B32442C8565950043BC13 /* SPSegmentedControll.swift in Sources */, + 75A998312C805972007E2DCA /* NW_JXOneVC.swift in Sources */, + 757405A82C81954A0096CE18 /* NW_RankingFSpageCell.swift in Sources */, + 759C5C3D2C7EFDCE001FCB67 /* AppDelegate.swift in Sources */, + 759C5C632C7F18F7001FCB67 /* NW_HomeVC.swift in Sources */, + 759C5C542C7EFF25001FCB67 /* NW_RootNAVC.swift in Sources */, + 75A9983F2C805CCB007E2DCA /* NW_WallpaperCollectionCell.swift in Sources */, + 750B32432C8565950043BC13 /* SegmentedPageViewController.swift in Sources */, + 75373B892C859DC7002D37EB /* NW_LauncVC.swift in Sources */, + 75A9982C2C8057B5007E2DCA /* NW_PGBannerCell.swift in Sources */, + 759C5C752C7F195C001FCB67 /* NW_RankingVC.swift in Sources */, + 75A998462C80718F007E2DCA /* NW_RankingCell.swift in Sources */, + 759C5C522C7EFEB8001FCB67 /* NW_RootVC.swift in Sources */, + 75A998422C80600B007E2DCA /* WaterfallFlowLayout.swift in Sources */, + 757405A42C816EC90096CE18 /* NW_RankingModel.swift in Sources */, + 756496992C815BF6009976AE /* NW_CommunityCell.swift in Sources */, + 750B32452C8565950043BC13 /* SPSegmentedControllItem.swift in Sources */, + 759C5C562C7EFF3C001FCB67 /* NW_RootTabBarVC.swift in Sources */, + 75A9983B2C80599C007E2DCA /* NW_JXThreeVC.swift in Sources */, + 757405AC2C81B96C0096CE18 /* CustomIndicatorImageView.swift in Sources */, + 75A998372C80598D007E2DCA /* NW_JXTwoVC.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 759C5C422C7EFDCE001FCB67 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 759C5C432C7EFDCE001FCB67 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 759C5C472C7EFDD2001FCB67 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 759C5C482C7EFDD2001FCB67 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 759C5C4B2C7EFDD2001FCB67 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 759C5C4C2C7EFDD2001FCB67 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 759C5C4E2C7EFDD2001FCB67 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5D447EB98EE5070AB5D117F1 /* Pods-wallpaper_BProject.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6HWQW9JC74; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = wallpaper_BProject/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.520.cn.wallpaper-BProject"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + 759C5C4F2C7EFDD2001FCB67 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 187497666FAFB0D4BB4CB9CB /* Pods-wallpaper_BProject.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6HWQW9JC74; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = wallpaper_BProject/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.520.cn.wallpaper-BProject"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 759C5C342C7EFDCE001FCB67 /* Build configuration list for PBXProject "wallpaper_BProject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 759C5C4B2C7EFDD2001FCB67 /* Debug */, + 759C5C4C2C7EFDD2001FCB67 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 759C5C4D2C7EFDD2001FCB67 /* Build configuration list for PBXNativeTarget "wallpaper_BProject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 759C5C4E2C7EFDD2001FCB67 /* Debug */, + 759C5C4F2C7EFDD2001FCB67 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 759C5C312C7EFDCE001FCB67 /* Project object */; +} diff --git a/wallpaper_BProject/AppDelegate.swift b/wallpaper_BProject/AppDelegate.swift new file mode 100644 index 0000000..7f35f34 --- /dev/null +++ b/wallpaper_BProject/AppDelegate.swift @@ -0,0 +1,27 @@ +// +// AppDelegate.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + self.window?.frame = UIScreen.main.bounds +// let vc = NW_LauncVC() +// self.window?.rootViewController = vc + let vc = NW_RootTabBarVC() + window?.rootViewController = NW_RootNAVC(rootViewController: vc) + window?.makeKeyAndVisible() + + + return true + } +} + diff --git a/wallpaper_BProject/Assets.xcassets/AccentColor.colorset/Contents.json b/wallpaper_BProject/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/AppIcon.appiconset/Contents.json b/wallpaper_BProject/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Contents.json b/wallpaper_BProject/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/Contents.json b/wallpaper_BProject/Assets.xcassets/Ranking/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/Ranking/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/Contents.json new file mode 100644 index 0000000..d8cdc30 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_7.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_7@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_7@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7.png b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7.png new file mode 100644 index 0000000..d269931 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@2x.png b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@2x.png new file mode 100644 index 0000000..86a0ea1 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@3x.png b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@3x.png new file mode 100644 index 0000000..a620c62 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/RankingTop.imageset/编组_7@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/Contents.json new file mode 100644 index 0000000..5d0a26f --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2.png b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2.png new file mode 100644 index 0000000..15f0289 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@2x.png b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@2x.png new file mode 100644 index 0000000..4d0395a Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@3x.png b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@3x.png new file mode 100644 index 0000000..cbf6d48 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/rankingSure.imageset/编组_2@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/Contents.json new file mode 100644 index 0000000..5f6a98d --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "zhanwei.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "zhanwei@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "zhanwei@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei.png b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei.png new file mode 100644 index 0000000..298c297 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@2x.png b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@2x.png new file mode 100644 index 0000000..36b34df Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@3x.png b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@3x.png new file mode 100644 index 0000000..09688ad Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/Ranking/zw.imageset/zhanwei@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/Contents.json new file mode 100644 index 0000000..b4c0639 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@2x.png new file mode 100644 index 0000000..9f389ef Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@3x.png new file mode 100644 index 0000000..07cb76f Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_0.imageset/banner1@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/Contents.json new file mode 100644 index 0000000..42f6397 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@2x.png new file mode 100644 index 0000000..d5562c6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@3x.png new file mode 100644 index 0000000..44ed6a4 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_1.imageset/banner2@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/Contents.json new file mode 100644 index 0000000..7af2408 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@2x.png new file mode 100644 index 0000000..0bd1311 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@3x.png new file mode 100644 index 0000000..2efd746 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_2.imageset/banner3@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/Contents.json new file mode 100644 index 0000000..7af2408 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@2x.png new file mode 100644 index 0000000..0bd1311 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@3x.png new file mode 100644 index 0000000..2efd746 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_3.imageset/banner3@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/Contents.json new file mode 100644 index 0000000..7af2408 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@2x.png new file mode 100644 index 0000000..0bd1311 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@3x.png new file mode 100644 index 0000000..2efd746 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_4.imageset/banner3@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/Contents.json new file mode 100644 index 0000000..7af2408 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "banner3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "banner3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@2x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@2x.png new file mode 100644 index 0000000..0bd1311 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@3x.png b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@3x.png new file mode 100644 index 0000000..2efd746 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/banner/banner_5.imageset/banner3@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/Contents.json b/wallpaper_BProject/Assets.xcassets/community/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/browse.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/Contents.json new file mode 100644 index 0000000..9e28a16 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_3.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3.png b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3.png new file mode 100644 index 0000000..39562ac Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@2x.png b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@2x.png new file mode 100644 index 0000000..1a7d1a6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@3x.png b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@3x.png new file mode 100644 index 0000000..c4fe9a7 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/browse.imageset/编组_3@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/Contents.json new file mode 100644 index 0000000..d8cdc30 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_7.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_7@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_7@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7.png b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7.png new file mode 100644 index 0000000..f9cf34f Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@2x.png b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@2x.png new file mode 100644 index 0000000..cf7bd83 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@3x.png b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@3x.png new file mode 100644 index 0000000..1d8ae72 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/capturezoo.imageset/编组_7@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/Contents.json new file mode 100644 index 0000000..b3154bf --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1.png b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1.png new file mode 100644 index 0000000..36fd3e8 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@2x.png b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@2x.png new file mode 100644 index 0000000..8b77937 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@3x.png b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@3x.png new file mode 100644 index 0000000..d957311 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/comment_light.imageset/编组_1@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/forward.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/Contents.json new file mode 100644 index 0000000..5d0a26f --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2.png b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2.png new file mode 100644 index 0000000..28a885b Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@2x.png b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@2x.png new file mode 100644 index 0000000..c9a2d4c Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@3x.png b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@3x.png new file mode 100644 index 0000000..344a154 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/forward.imageset/编组_2@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/Contents.json new file mode 100644 index 0000000..b63dc65 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_4.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_4@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_4@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4.png b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4.png new file mode 100644 index 0000000..682aa5a Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@2x.png b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@2x.png new file mode 100644 index 0000000..b22bd26 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@3x.png b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@3x.png new file mode 100644 index 0000000..4f5e31c Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_n.imageset/编组_4@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/Contents.json new file mode 100644 index 0000000..89da9c1 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组.png b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组.png new file mode 100644 index 0000000..ade709e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@2x.png b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@2x.png new file mode 100644 index 0000000..2dd79d5 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@3x.png b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@3x.png new file mode 100644 index 0000000..4606d0e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/like_s.imageset/编组@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/upload.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/Contents.json new file mode 100644 index 0000000..c9464ef --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_8.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_8@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_8@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8.png b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8.png new file mode 100644 index 0000000..1549925 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@2x.png b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@2x.png new file mode 100644 index 0000000..cc2f2c6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@3x.png b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@3x.png new file mode 100644 index 0000000..521cfea Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/community/upload.imageset/编组_8@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/Contents.json b/wallpaper_BProject/Assets.xcassets/home/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/home/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/home/bg.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/Contents.json new file mode 100644 index 0000000..0497fc8 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "bg.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg.png b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg.png new file mode 100644 index 0000000..79e27be Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@2x.png b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@2x.png new file mode 100644 index 0000000..37bb20b Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@3x.png b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@3x.png new file mode 100644 index 0000000..b96e0dd Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/bg.imageset/bg@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/Contents.json new file mode 100644 index 0000000..bf95134 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "编组_9.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_9@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_9@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9.png b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9.png new file mode 100644 index 0000000..2635319 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@2x.png b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@2x.png new file mode 100644 index 0000000..311da41 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@3x.png b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@3x.png new file mode 100644 index 0000000..32ffd8a Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/flbg.imageset/编组_9@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/Contents.json new file mode 100644 index 0000000..c9464ef --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_8.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_8@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_8@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8.png b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8.png new file mode 100644 index 0000000..33db831 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@2x.png b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@2x.png new file mode 100644 index 0000000..3c52552 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@3x.png b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@3x.png new file mode 100644 index 0000000..5cfa2a3 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/homebg.imageset/编组_8@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/panda.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/Contents.json new file mode 100644 index 0000000..07494d3 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "panda.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "panda@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "panda@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda.png b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda.png new file mode 100644 index 0000000..dc25ebc Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@2x.png b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@2x.png new file mode 100644 index 0000000..638de7f Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@3x.png b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@3x.png new file mode 100644 index 0000000..c32279d Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/home/panda.imageset/panda@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/launch.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/launch.imageset/Contents.json new file mode 100644 index 0000000..0497fc8 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/launch.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "bg.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/launch.imageset/bg.png b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg.png new file mode 100644 index 0000000..71071fc Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg.png differ diff --git a/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@2x.png b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@2x.png new file mode 100644 index 0000000..f37a500 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@3x.png b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@3x.png new file mode 100644 index 0000000..f6d1fac Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/launch.imageset/bg@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/Contents.json new file mode 100644 index 0000000..b074e9c --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "avatar_zhanqwei.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "avatar_zhanqwei@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "avatar_zhanqwei@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei.png b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei.png new file mode 100644 index 0000000..ffd54c0 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@2x.png b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@2x.png new file mode 100644 index 0000000..0c5d451 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@3x.png b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@3x.png new file mode 100644 index 0000000..a45bdef Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/avatar_zhanqwei.imageset/avatar_zhanqwei@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/login.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/Contents.json new file mode 100644 index 0000000..9e776b1 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "login.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "login@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "login@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login.png b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login.png new file mode 100644 index 0000000..a8c9de1 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@2x.png b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@2x.png new file mode 100644 index 0000000..07c5b44 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@3x.png b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@3x.png new file mode 100644 index 0000000..427b3f1 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/login.imageset/login@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/Contents.json new file mode 100644 index 0000000..add923b --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon.png b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon.png new file mode 100644 index 0000000..58057f7 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@2x.png b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@2x.png new file mode 100644 index 0000000..0e66d87 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@3x.png b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@3x.png new file mode 100644 index 0000000..5bdbe1b Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/minetitle.imageset/icon@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/review.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/Contents.json new file mode 100644 index 0000000..c14e098 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "review.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "review@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "review@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review.png b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review.png new file mode 100644 index 0000000..3ab3799 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@2x.png b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@2x.png new file mode 100644 index 0000000..0fae632 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@3x.png b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@3x.png new file mode 100644 index 0000000..6ab4ed6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/review.imageset/review@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/Contents.json new file mode 100644 index 0000000..8b4c5e6 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "setting.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "setting@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "setting@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting.png b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting.png new file mode 100644 index 0000000..2d92b8b Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@2x.png b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@2x.png new file mode 100644 index 0000000..37d4aff Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@3x.png b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@3x.png new file mode 100644 index 0000000..e8bcdc5 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/setting.imageset/setting@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/Contents.json new file mode 100644 index 0000000..5f6a98d --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "zhanwei.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "zhanwei@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "zhanwei@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei.png b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei.png new file mode 100644 index 0000000..36e305e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@2x.png b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@2x.png new file mode 100644 index 0000000..2502fc7 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@3x.png b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@3x.png new file mode 100644 index 0000000..156414e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/mien/zhanwei.imageset/zhanwei@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/Contents.json new file mode 100644 index 0000000..38850d7 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组_5备份_2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_5备份_2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_5备份_2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2.png b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2.png new file mode 100644 index 0000000..ee0e87b Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@2x.png b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@2x.png new file mode 100644 index 0000000..56b3f25 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@3x.png b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@3x.png new file mode 100644 index 0000000..493ea86 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_n.imageset/编组_5备份_2@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/Contents.json new file mode 100644 index 0000000..d0aafce --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "编组_5.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_5@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_5@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5.png b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5.png new file mode 100644 index 0000000..42982ed Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@2x.png b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@2x.png new file mode 100644 index 0000000..a806895 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@3x.png b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@3x.png new file mode 100644 index 0000000..07a8aba Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/community_s.imageset/编组_5@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/Contents.json new file mode 100644 index 0000000..28116c6 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组备份_11.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组备份_11@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组备份_11@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11.png b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11.png new file mode 100644 index 0000000..148e1a1 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@2x.png b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@2x.png new file mode 100644 index 0000000..ae46272 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@3x.png b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@3x.png new file mode 100644 index 0000000..575db2c Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_n.imageset/编组备份_11@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/Contents.json new file mode 100644 index 0000000..ce0a035 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "编组.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组.png b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组.png new file mode 100644 index 0000000..e303fc2 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@2x.png b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@2x.png new file mode 100644 index 0000000..f960ca5 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@3x.png b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@3x.png new file mode 100644 index 0000000..dbf607d Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/home_s.imageset/编组@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/Contents.json new file mode 100644 index 0000000..57389b9 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组备份_12.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组备份_12@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组备份_12@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12.png b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12.png new file mode 100644 index 0000000..a45e3a6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@2x.png b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@2x.png new file mode 100644 index 0000000..af4807a Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@3x.png b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@3x.png new file mode 100644 index 0000000..ad368e6 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_n.imageset/编组备份_12@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/Contents.json new file mode 100644 index 0000000..29c2e5d --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "编组_1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1.png b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1.png new file mode 100644 index 0000000..0c508a7 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@2x.png b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@2x.png new file mode 100644 index 0000000..be78b9e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@3x.png b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@3x.png new file mode 100644 index 0000000..61b34a7 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/mine_s.imageset/编组_1@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/Contents.json new file mode 100644 index 0000000..a23b5af --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "编组备份_13.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组备份_13@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组备份_13@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13.png new file mode 100644 index 0000000..22bec61 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@2x.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@2x.png new file mode 100644 index 0000000..5d831dd Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@3x.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@3x.png new file mode 100644 index 0000000..568352e Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_n.imageset/编组备份_13@3x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/Contents.json b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/Contents.json new file mode 100644 index 0000000..648a4e2 --- /dev/null +++ b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "编组_2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "编组_2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "编组_2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2.png new file mode 100644 index 0000000..649131f Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@2x.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@2x.png new file mode 100644 index 0000000..4bccfca Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@2x.png differ diff --git a/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@3x.png b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@3x.png new file mode 100644 index 0000000..fac4254 Binary files /dev/null and b/wallpaper_BProject/Assets.xcassets/tab/ranking_s.imageset/编组_2@3x.png differ diff --git a/wallpaper_BProject/Base.lproj/LaunchScreen.storyboard b/wallpaper_BProject/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..c6ece45 --- /dev/null +++ b/wallpaper_BProject/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Base.lproj/Main.storyboard b/wallpaper_BProject/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/wallpaper_BProject/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Community/C/NW_CommunityVC.swift b/wallpaper_BProject/Community/C/NW_CommunityVC.swift new file mode 100644 index 0000000..ff3105d --- /dev/null +++ b/wallpaper_BProject/Community/C/NW_CommunityVC.swift @@ -0,0 +1,45 @@ +// +// NW_CommunityVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit + +class NW_CommunityVC: NW_RootVC { + @IBOutlet weak var tableView: UITableView! + + override func viewDidLoad() { + super.viewDidLoad() + settableView() + + } + // MARK: - tableView设置 + func settableView(){ + tableView.delegate = self + tableView.dataSource = self + tableView.showsVerticalScrollIndicator = false + tableView.showsHorizontalScrollIndicator = false + + tableView.register(UINib(nibName: "NW_CommunityCell", bundle: nil), forCellReuseIdentifier: "NW_CommunityCell") + } +} +// MARK: - tableView代理 +extension NW_CommunityVC:UITableViewDelegate,UITableViewDataSource{ + + + func numberOfSections(in tableView: UITableView) -> Int { + 1 + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 10 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "NW_CommunityCell", for: indexPath)as!NW_CommunityCell + return cell + } + +} diff --git a/wallpaper_BProject/Community/C/NW_CommunityVC.xib b/wallpaper_BProject/Community/C/NW_CommunityVC.xib new file mode 100644 index 0000000..7529741 --- /dev/null +++ b/wallpaper_BProject/Community/C/NW_CommunityVC.xib @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Community/V/NW_CommunityCell.swift b/wallpaper_BProject/Community/V/NW_CommunityCell.swift new file mode 100644 index 0000000..307bd52 --- /dev/null +++ b/wallpaper_BProject/Community/V/NW_CommunityCell.swift @@ -0,0 +1,116 @@ +// +// NW_CommunityCell.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/30. +// + +import UIKit + +class NW_CommunityCell: UITableViewCell { + @IBOutlet weak var contentImageV: UIImageView! + + @IBOutlet weak var contentLabel: UILabel! + + @IBOutlet weak var zanbtn: UIButton! + + @IBOutlet weak var zanLabel: UILabel! + + @IBOutlet weak var plLabel: UILabel! + + @IBOutlet weak var lookLabel: UILabel! + + @IBOutlet weak var zfLabel: UILabel! + + + @IBOutlet weak var bgView: UIView! + + + + + override func awakeFromNib() { + super.awakeFromNib() + + + + contentImageV.layer.cornerRadius = 10 + + zanLabel.text = "\(getRandomInt() ?? 10)" + plLabel.text = "\(getRandomInt() ?? 10)" + lookLabel.text = "\(getRandomInt() ?? 10)" + zfLabel.text = "\(getRandomInt() ?? 10)" +// applyGradient( +// to: bgView, +// colors: [ +// UIColor(red: 0.949, green: 0.969, blue: 0.914, alpha: 1).cgColor, +// UIColor(red: 0.882, green: 0.922, blue: 0.808, alpha: 1).cgColor +// ], +// cornerRadius: 8, +// startPoint: CGPoint(x: 0.745123, y: -0.063808), +// endPoint: CGPoint(x: 0.5, y: 1) +// ) + + + DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.01) { + self.applyGradientToBgView() + } + + } + + override func layoutSubviews() { + super.layoutSubviews() + // 在布局子视图时重新调整渐变图层的大小 + DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.01) { + self.applyGradientToBgView() + } + + } + private func applyGradientToBgView() { + // 移除旧的渐变层 + bgView.layer.sublayers?.removeAll(where: { $0 is CAGradientLayer }) + + let gradientLayer = CAGradientLayer() + gradientLayer.colors = [ + UIColor(red: 0.949, green: 0.969, blue: 0.914, alpha: 1).cgColor, + UIColor(red: 0.882, green: 0.922, blue: 0.808, alpha: 1).cgColor + ] + gradientLayer.startPoint = CGPoint(x: 0.745123, y: -0.063808) + gradientLayer.endPoint = CGPoint(x: 0.5, y: 1) + gradientLayer.frame = bgView.bounds + gradientLayer.cornerRadius = 8 + + let maskLayer = CAShapeLayer() + maskLayer.path = UIBezierPath(roundedRect: bgView.bounds, cornerRadius: 8).cgPath + gradientLayer.mask = maskLayer + + bgView.layer.insertSublayer(gradientLayer, at: 0) + } + + @IBAction func btnzan(_ sender: Any) { + if zanbtn.isSelected == true{ + zanbtn.isSelected = false + zanLabel.text = "\((Int(zanLabel.text ?? "10") ?? 10) - 1)" + }else{ + zanbtn.isSelected = true + zanLabel.text = "\((Int(zanLabel.text ?? "10") ?? 10) + 1)" + } + + } + func applyGradient(to view: UIView, colors: [CGColor], cornerRadius: CGFloat, startPoint: CGPoint, endPoint: CGPoint) { + // Create a gradient layer + let gradientLayer = CAGradientLayer() + gradientLayer.colors = colors + gradientLayer.startPoint = startPoint + gradientLayer.endPoint = endPoint + gradientLayer.frame = view.bounds + + // Create a mask layer with rounded corners + let maskLayer = CAShapeLayer() + maskLayer.path = UIBezierPath(roundedRect: view.bounds, cornerRadius: cornerRadius).cgPath + + // Apply the mask and gradient to the view + view.layer.insertSublayer(gradientLayer, at: 0) + view.layer.mask = maskLayer + } + +} diff --git a/wallpaper_BProject/Community/V/NW_CommunityCell.xib b/wallpaper_BProject/Community/V/NW_CommunityCell.xib new file mode 100644 index 0000000..d57db6f --- /dev/null +++ b/wallpaper_BProject/Community/V/NW_CommunityCell.xib @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/C/JX/NW_JXOneVC.swift b/wallpaper_BProject/Home/C/JX/NW_JXOneVC.swift new file mode 100644 index 0000000..8ceaa27 --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXOneVC.swift @@ -0,0 +1,58 @@ +// +// NW_JXOneVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit +import JXSegmentedView + +class NW_JXOneVC: NW_RootVC { + + @IBOutlet weak var collectionView: UICollectionView! + override func viewDidLoad() { + super.viewDidLoad() + + setCollectionV() + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(true) + self.navigationController?.navigationBar.isHidden = true + } + + + //MARK: - 设置collectionView + func setCollectionV(){ + let layout = WaterfallFlowLayout() + layout.numberOfColumns = 2 + layout.cellPadding = 10 + collectionView.collectionViewLayout = layout +// collectionView.delegate = self + collectionView.dataSource = self + collectionView.register(UINib(nibName: "NW_WallpaperCollectionCell", bundle: nil), forCellWithReuseIdentifier: "NW_WallpaperCollectionCell") + } + + + + + + +} +extension NW_JXOneVC:JXSegmentedListContainerViewListDelegate{ + func listView() -> UIView { + return view + } +} +extension NW_JXOneVC:UICollectionViewDataSource{ + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return 50 + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "NW_WallpaperCollectionCell", for: indexPath) as!NW_WallpaperCollectionCell +// cell.backgroundColor = .blue + return cell + } +} diff --git a/wallpaper_BProject/Home/C/JX/NW_JXOneVC.xib b/wallpaper_BProject/Home/C/JX/NW_JXOneVC.xib new file mode 100644 index 0000000..2e33d21 --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXOneVC.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.swift b/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.swift new file mode 100644 index 0000000..e29d6c1 --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.swift @@ -0,0 +1,50 @@ +// +// NW_JXThreeVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit +import JXSegmentedView + +class NW_JXThreeVC: NW_RootVC { + @IBOutlet weak var collectionView: UICollectionView! + + override func viewDidLoad() { + super.viewDidLoad() + + setCollectionV() + } + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(true) + self.navigationController?.navigationBar.isHidden = true + } + + //MARK: - 设置collectionView + func setCollectionV(){ + let layout = WaterfallFlowLayout() + layout.numberOfColumns = 2 + layout.cellPadding = 10 + collectionView.collectionViewLayout = layout +// collectionView.delegate = self + collectionView.dataSource = self + collectionView.register(UINib(nibName: "NW_WallpaperCollectionCell", bundle: nil), forCellWithReuseIdentifier: "NW_WallpaperCollectionCell") + } +} +extension NW_JXThreeVC:JXSegmentedListContainerViewListDelegate{ + func listView() -> UIView { + return view + } +} +extension NW_JXThreeVC:UICollectionViewDataSource{ + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return 50 + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "NW_WallpaperCollectionCell", for: indexPath) as!NW_WallpaperCollectionCell +// cell.backgroundColor = .blue + return cell + } +} diff --git a/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.xib b/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.xib new file mode 100644 index 0000000..7a0ca61 --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXThreeVC.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.swift b/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.swift new file mode 100644 index 0000000..a4ca67a --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.swift @@ -0,0 +1,54 @@ +// +// NW_JXTwoVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit +import JXSegmentedView + +class NW_JXTwoVC: NW_RootVC { + @IBOutlet weak var collectionView: UICollectionView! + + override func viewDidLoad() { + super.viewDidLoad() + + setCollectionV() + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(true) + self.navigationController?.navigationBar.isHidden = true + } + + //MARK: - 设置collectionView + func setCollectionV(){ + let layout = WaterfallFlowLayout() + layout.numberOfColumns = 2 + layout.cellPadding = 10 + collectionView.collectionViewLayout = layout +// collectionView.delegate = self + collectionView.dataSource = self + collectionView.register(UINib(nibName: "NW_WallpaperCollectionCell", bundle: nil), forCellWithReuseIdentifier: "NW_WallpaperCollectionCell") + } + + +} +extension NW_JXTwoVC:JXSegmentedListContainerViewListDelegate{ + func listView() -> UIView { + return view + } +} + +extension NW_JXTwoVC:UICollectionViewDataSource{ + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return 50 + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "NW_WallpaperCollectionCell", for: indexPath) as!NW_WallpaperCollectionCell +// cell.backgroundColor = .blue + return cell + } +} diff --git a/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.xib b/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.xib new file mode 100644 index 0000000..0c1ad79 --- /dev/null +++ b/wallpaper_BProject/Home/C/JX/NW_JXTwoVC.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/C/NW_HomeVC.swift b/wallpaper_BProject/Home/C/NW_HomeVC.swift new file mode 100644 index 0000000..d009ec8 --- /dev/null +++ b/wallpaper_BProject/Home/C/NW_HomeVC.swift @@ -0,0 +1,177 @@ +// +// NW_HomeVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit +import JXSegmentedView +import SnapKit +import FSPagerView + +class NW_HomeVC: NW_RootVC { + + @IBOutlet weak var pagerView: FSPagerView!{ + didSet{ + self.pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "NW_PGBannerCell") + } + } + // var blocklive:(()->())? + // var blocknew:(()->())? + // var blockpopu:(()->())? + lazy var viewcontrollers: [UIViewController] = { makeExampleViewControlers() }() + var segmentedPageVC: SegmentedPageViewController! + + + + override func viewDidLoad() { + super.viewDidLoad() + + setFSpageV() + setpageVC() + } + + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(true) + self.navigationController?.navigationBar.isHidden = true + } + + + // MARK: - banner设置 + func setFSpageV(){ + self.pagerView.delegate = self + self.pagerView.dataSource = self + pagerView.transformer = FSPagerViewTransformer(type: .linear) + pagerView.automaticSlidingInterval = 2.0 + pagerView.isInfinite = true + pagerView.decelerationDistance = 2 + pagerView.itemSize = CGSize(width: 240, height: 120) + pagerView.interitemSpacing = 10 + + // pageControl.numberOfPages = 3 // 设置总页数 + // pageControl.currentPage = 0 + // pageControl.currentPageIndicatorTintColor = UIColor.white // 设置当前页的颜色 + // pageControl.pageIndicatorTintColor = UIColor.clear + + } + + func setpageVC(){ + addSegmentedPageViewController() + customizeSegmentedPageViewController2() + } + + private func addSegmentedPageViewController() { + + segmentedPageVC = SegmentedPageViewController( + pages: [ + .init(viewController: viewcontrollers[0], + icon: UIImage(named: "bg"), + selectedIcon: UIImage(named: "panda"), + title: ""), + + + + .init(viewController: viewcontrollers[1], + icon: UIImage(named: "bg"), + selectedIcon: UIImage(named: "panda"), + title: ""), + + .init(viewController: viewcontrollers[2], + icon: UIImage(named: "bg"), + selectedIcon: UIImage(named: "panda"), + title: "") + ] + + ,segmentControllerFillMode: .proportionally) + + + self.addChild(segmentedPageVC) + view.addSubview(segmentedPageVC.view) + segmentedPageVC.view.frame = CGRect(x: 0, y: 250, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height - 250) + segmentedPageVC.didMove(toParent: self) + + } + private func makeExampleViewControlers() -> [UIViewController] { + let vc1 = NW_JXOneVC() +// vc1.labelTitle = "First View Controller" +// vc1.view.backgroundColor = .systemYellow + + let vc2 = NW_JXTwoVC() +// vc2.labelTitle = "Second View Controller" +// vc2.view.backgroundColor = .systemRed + + let vc3 = NW_JXThreeVC() +// vc3.labelTitle = "Third View Controller" +// vc3.view.backgroundColor = .systemGreen + + return [vc1, vc2, vc3] + } + +} + + +extension NW_HomeVC { + private func customizeSegmentedPageViewController1() { + segmentedPageVC.segmentController.highlightColor = .systemRed + segmentedPageVC.segmentController.underlineHeight = 20 + segmentedPageVC.segmentController.itemsHeight = 40 + segmentedPageVC.segmentController.font = UIFont.systemFont(ofSize: 15, weight: .semibold) + segmentedPageVC.segmentController.textColor = .systemGray6 +// segmentedPageVC.segmentController.underlineImage = UIImage(systemName: "triangle.fill") + } + + + private func customizeSegmentedPageViewController2() { + segmentedPageVC.segmentController.highlightColor = .label + segmentedPageVC.segmentController.font = UIFont.systemFont(ofSize: 16, weight: .bold) + segmentedPageVC.segmentController.textColor = .secondaryLabel + segmentedPageVC.segmentController.underlineHeight = 10 + segmentedPageVC.segmentController.underlineImageViewCornerRadius = 5 + segmentedPageVC.segmentController.underlineImage = nil + } +} + + +// MARK: - banner代理 +extension NW_HomeVC:FSPagerViewDelegate,FSPagerViewDataSource{ + public func numberOfItems(in pagerView: FSPagerView) -> Int { + return 6 + } + + public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell { + let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "NW_PGBannerCell", at: index) + + // 设置图片 + cell.imageView?.image = UIImage(named: "banner_\(index)") + + + return cell + } + + // func pagerView(_ pagerView: FSPagerView, didSelectItemAt index: Int) { + // print("Tapped item at index: \(index)") + // + //// var viewControllerToPresent: UIViewController? + // + // // 根据索引跳转到不同的视图控制器 + // switch index { + // case 0: + // if self.blocklive != nil{ + // self.blocklive!() + // } + // case 1: + // if self.blockpopu != nil{ + // self.blockpopu!() + // } + // case 2: + // if self.blocknew != nil{ + // self.blocknew!() + // } + // default: + // break + // } + // } + +} diff --git a/wallpaper_BProject/Home/C/NW_HomeVC.xib b/wallpaper_BProject/Home/C/NW_HomeVC.xib new file mode 100644 index 0000000..dbfa8f3 --- /dev/null +++ b/wallpaper_BProject/Home/C/NW_HomeVC.xib @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/V/NW_PGBannerCell.swift b/wallpaper_BProject/Home/V/NW_PGBannerCell.swift new file mode 100644 index 0000000..e3ba614 --- /dev/null +++ b/wallpaper_BProject/Home/V/NW_PGBannerCell.swift @@ -0,0 +1,21 @@ +// +// NW_PGBannerCell.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit +import FSPagerView + +class NW_PGBannerCell: FSPagerViewCell { + @IBOutlet weak var ImageV: UIImageView! + + override func awakeFromNib() { + super.awakeFromNib() + ImageV.layer.cornerRadius = 5 + self.layer.cornerRadius = 5 + self.layer.masksToBounds = true + } + +} diff --git a/wallpaper_BProject/Home/V/NW_PGBannerCell.xib b/wallpaper_BProject/Home/V/NW_PGBannerCell.xib new file mode 100644 index 0000000..29e9c00 --- /dev/null +++ b/wallpaper_BProject/Home/V/NW_PGBannerCell.xib @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.swift b/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.swift new file mode 100644 index 0000000..638ba81 --- /dev/null +++ b/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.swift @@ -0,0 +1,20 @@ +// +// NW_WallpaperCollectionCell.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit + +class NW_WallpaperCollectionCell: UICollectionViewCell { + @IBOutlet weak var photoImageV: UIImageView! + + @IBOutlet weak var bgView: UIView! + override func awakeFromNib() { + super.awakeFromNib() + photoImageV.layer.cornerRadius = 10 + bgView.backgroundColor = .hexSting(color: "#F9F5F0", alpha: 0.69) + } + +} diff --git a/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.xib b/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.xib new file mode 100644 index 0000000..d2766ac --- /dev/null +++ b/wallpaper_BProject/Home/V/NW_WallpaperCollectionCell.xib @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Info.plist b/wallpaper_BProject/Info.plist new file mode 100644 index 0000000..6a6654d --- /dev/null +++ b/wallpaper_BProject/Info.plist @@ -0,0 +1,11 @@ + + + + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + + diff --git a/wallpaper_BProject/Main/NW_LauncVC.swift b/wallpaper_BProject/Main/NW_LauncVC.swift new file mode 100644 index 0000000..c53d1d1 --- /dev/null +++ b/wallpaper_BProject/Main/NW_LauncVC.swift @@ -0,0 +1,59 @@ +// +// NW_LauncVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/9/2. +// + +import UIKit + +class NW_LauncVC: UIViewController { + private var progressView: UIProgressView! + private var timer: Timer? + private var progress: Float = 0.0 + private let totalDuration: TimeInterval = 10.0 + override func viewDidLoad() { + super.viewDidLoad() + + setupProgressView() + startProgress() + } + + private func setupProgressView() { + // 初始化进度条 + progressView = UIProgressView(progressViewStyle: .default) + progressView.frame = CGRect(x: 50, y: UIScreen.main.bounds.maxY - 36, width: self.view.frame.width - 100, height: 20) + progressView.progress = 0.0 + progressView.tintColor = .black + progressView.trackTintColor = .lightGray + view.addSubview(progressView) + } + + private func startProgress() { + // 每秒更新一次进度条 + timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateProgress), userInfo: nil, repeats: true) + } + + @objc private func updateProgress() { + // 计算每秒应增加的进度 + let increment = 1.0 / Float(totalDuration) + + if progress < 1.0 { + progress += increment + progressView.setProgress(progress, animated: true) + } else { + // 进度完成,停止计时器 + timer?.invalidate() + timer = nil + // 获取应用程序的窗口 + if let window = UIApplication.shared.windows.first { + // 创建一个新的视图控制器 + let vc = NW_RootTabBarVC() + window.rootViewController = NW_RootNAVC(rootViewController: vc) + // 使窗口可见 + window.makeKeyAndVisible() + } + } + } + +} diff --git a/wallpaper_BProject/Main/NW_LauncVC.xib b/wallpaper_BProject/Main/NW_LauncVC.xib new file mode 100644 index 0000000..c0569b8 --- /dev/null +++ b/wallpaper_BProject/Main/NW_LauncVC.xib @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Main/NW_RootNAVC.swift b/wallpaper_BProject/Main/NW_RootNAVC.swift new file mode 100644 index 0000000..ef0e6ca --- /dev/null +++ b/wallpaper_BProject/Main/NW_RootNAVC.swift @@ -0,0 +1,66 @@ +// +// NW_RootNAVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit + +class NW_RootNAVC: UINavigationController { + + override func viewDidLoad() { + super.viewDidLoad() + + setbackBtn() + + + } + func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { + if self.viewControllers.count <= 1 { + let viewController = NW_RootVC() + viewController.hidesBottomBarWhenPushed = true + tabBarController?.tabBar.isHidden = true + return false + } + setbackBtn() + return true + } + + + override func pushViewController(_ viewController: UIViewController, animated: Bool) { + if viewControllers.count > 0 { + // setBackItmer()/ + viewController.hidesBottomBarWhenPushed = true + tabBarController?.tabBar.isHidden = true + } + setbackBtn() + super.pushViewController(viewController, animated: animated) + + } + func setbackBtn(){ + + let backButton = UIButton(type: .custom) + + + backButton.setBackgroundImage(#imageLiteral(resourceName: "home_n"), for: .normal) + + backButton.addTarget(self, action: #selector(back), for: .touchUpInside) + + + let backView = UIBarButtonItem(customView: backButton) + + let barButtonItem = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil) + barButtonItem.width = -5 + + + navigationItem.leftBarButtonItems = [barButtonItem, backView] + + } + + @objc func back(){ + navigationController?.popViewController(animated: true) + + } + +} diff --git a/wallpaper_BProject/Main/NW_RootTabBarVC.swift b/wallpaper_BProject/Main/NW_RootTabBarVC.swift new file mode 100644 index 0000000..ac23bef --- /dev/null +++ b/wallpaper_BProject/Main/NW_RootTabBarVC.swift @@ -0,0 +1,75 @@ +// +// NW_RootTabBarVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit + +class NW_RootTabBarVC: UITabBarController { + + override func viewDidLoad() { + super.viewDidLoad() + + let home = NW_HomeVC() + home.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "home_n"), selectedImage: UIImage(named: "home_s")) +// home.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) + + let rank = NW_RankingVC() + rank.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "ranking_n"), selectedImage: UIImage(named: "ranking_s")) +// rank.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) + + let community = NW_CommunityVC() + community.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "community_n"), selectedImage: UIImage(named: "community_s")) +// community.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) + + + let mine = NW_MineVC() + mine.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "mine_n"), selectedImage: UIImage(named: "mine_s")) +// mine.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) + + viewControllers = [home, rank ,community,mine] + self.delegate = self + + // 设置TabBar字体颜色 + let normalAttributes: [NSAttributedString.Key: Any] = [ + .foregroundColor: UIColor.gray, + .font: UIFont.systemFont(ofSize: 14, weight: .medium) + ] + + let selectedAttributes: [NSAttributedString.Key: Any] = [ + .foregroundColor: UIColor.hexSting(color: "#2c2c2c", alpha: 1), + .font: UIFont.boldSystemFont(ofSize: 14) + ] + + UITabBarItem.appearance().setTitleTextAttributes(normalAttributes, for: .normal) + UITabBarItem.appearance().setTitleTextAttributes(selectedAttributes, for: .selected) + + tabBar.barTintColor = UIColor.hexSting(color: "#F9F5F0", alpha: 1) + tabBar.shadowImage = UIImage() + tabBar.backgroundImage = UIImage() + + } + +} +extension NW_RootTabBarVC: UITabBarControllerDelegate { + func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { + if let tabBarItems = tabBarController.tabBar.items, let selectedViewControllerIndex = tabBarController.viewControllers?.firstIndex(of: viewController) { + let selectedItem = tabBarItems[selectedViewControllerIndex] + // 仅对选定项目应用缩放动画 + let scaleAnimation = CABasicAnimation(keyPath: "transform.scale") + scaleAnimation.duration = 0.2 + scaleAnimation.fromValue = 0.9 + scaleAnimation.toValue = 1.1 + scaleAnimation.autoreverses = true + scaleAnimation.repeatCount = 1 + + // 将动画应用于所选项目的视图 + if let selectedView = selectedItem.value(forKey: "view") as? UIView { + selectedView.layer.add(scaleAnimation, forKey: nil) + } + } + return true + } +} diff --git a/wallpaper_BProject/Main/NW_RootVC.swift b/wallpaper_BProject/Main/NW_RootVC.swift new file mode 100644 index 0000000..434a023 --- /dev/null +++ b/wallpaper_BProject/Main/NW_RootVC.swift @@ -0,0 +1,64 @@ +// +// NW_RootVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit +import JXSegmentedView + +class NW_RootVC: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + setNavigtionContrilerBase() + + } + //设置导航栏属性 + func setNavigtionContrilerBase(){ + self.navigationController?.navigationBar.barTintColor = .white + let titleTextAttributes = [ + NSAttributedString.Key.font: UIFont.systemFont(ofSize: 16, weight: .bold), + NSAttributedString.Key.foregroundColor: UIColor.black + ] + + ///控制导航栏的背景颜色和底部线的隐藏 + if #available(iOS 13.0, *) { + let appearance = UINavigationBarAppearance() + appearance.configureWithOpaqueBackground() //重置导航栏背景颜色和阴影 + appearance.backgroundColor = UIColor.white + appearance.shadowImage = UIImage() + appearance.shadowColor = nil + appearance.titleTextAttributes = titleTextAttributes + self.navigationController?.navigationBar.standardAppearance = appearance + self.navigationController?.navigationBar.scrollEdgeAppearance = appearance + } else { + + self.navigationController?.navigationBar.barTintColor = UIColor.white + self.navigationController?.navigationBar.titleTextAttributes = titleTextAttributes + self.navigationController?.navigationBar.shadowImage = UIImage() + self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) + } + + } + + + //设置导航栏透明 + func setNavigationCotrollerHide(){ + // 1.设置导航栏半透明 + self.navigationController?.navigationBar.isTranslucent = false + self.navigationController?.navigationBar.barTintColor = .clear + // 2.设置导航栏背景图片 + self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default) + + // 3.设置导航栏阴影图片 + self.navigationController?.navigationBar.shadowImage = UIImage() + } + + override var preferredStatusBarStyle : UIStatusBarStyle { + return .lightContent + + } +} diff --git a/wallpaper_BProject/Mine/C/NW_MineVC.swift b/wallpaper_BProject/Mine/C/NW_MineVC.swift new file mode 100644 index 0000000..c7a4a39 --- /dev/null +++ b/wallpaper_BProject/Mine/C/NW_MineVC.swift @@ -0,0 +1,82 @@ +// +// NW_MineVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit +import JXSegmentedView +class NW_MineVC: NW_RootVC { + @IBOutlet weak var segmentedView: JXSegmentedView! + var segmentedDataSource = JXSegmentedTitleDataSource() + var listContainerView: JXSegmentedListContainerView! + override func viewDidLoad() { + super.viewDidLoad() + + setSegamented() + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + self.navigationController?.navigationBar.isHidden = true + + + } + + func setSegamented(){ + segmentedView.delegate = self + //配置数据源相关配置属性 + segmentedDataSource.titles = [ "Released","My Love"] + segmentedDataSource.titleSelectedColor = .hexSting(color: "#3E3A37", alpha: 1) + segmentedDataSource.titleNormalColor = .hexSting(color: "#3E3A37", alpha: 1) + + segmentedDataSource.titleSelectedFont = UIFont(name: "HoeflerText-Black", size: 18) + segmentedDataSource.titleNormalFont = UIFont(name: "HoeflerText-Italic", size: 18)! + segmentedDataSource.isTitleColorGradientEnabled = true + self.segmentedDataSource.reloadData(selectedIndex: 0) + //关联dataSource + self.segmentedView.dataSource = segmentedDataSource + + + let indicator = JXSegmentedIndicatorLineView() + indicator.indicatorColor = .hexSting(color: "#4A3A27", alpha: 1) + indicator.indicatorWidth = (UIScreen.main.bounds.width / 2) - 20 + + self.segmentedView.indicators = [indicator] + + + listContainerView = JXSegmentedListContainerView(dataSource: self) + self.view.addSubview(listContainerView) + + segmentedView.listContainer = listContainerView + } + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + listContainerView.snp.makeConstraints { make in + make.top.equalTo(segmentedView.snp.bottom).offset(0) + make.width.equalToSuperview() + make.bottom.equalToSuperview() + } + } + + +} +extension NW_MineVC:JXSegmentedListContainerViewDataSource,JXSegmentedViewDelegate{ + + //返回列表的数量 + func numberOfLists(in listContainerView: JXSegmentedListContainerView) -> Int { + return 2 + } + //返回遵从`JXSegmentedListContainerViewListDelegate`协议的实例 + func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate { + + if index == 0 { + let vc = NW_JXOneVC() + return vc + }else{ + let vc = NW_JXOneVC() + return vc + } + } +} diff --git a/wallpaper_BProject/Mine/C/NW_MineVC.xib b/wallpaper_BProject/Mine/C/NW_MineVC.xib new file mode 100644 index 0000000..efdbaae --- /dev/null +++ b/wallpaper_BProject/Mine/C/NW_MineVC.xib @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Ranking/C/NW_RankingVC.swift b/wallpaper_BProject/Ranking/C/NW_RankingVC.swift new file mode 100644 index 0000000..5e156e3 --- /dev/null +++ b/wallpaper_BProject/Ranking/C/NW_RankingVC.swift @@ -0,0 +1,101 @@ +// +// NW_RankingVC.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit +import FSPagerView + +class NW_RankingVC: NW_RootVC { + @IBOutlet weak var pagerView: FSPagerView!{ + didSet{ + self.pagerView.register(UINib(nibName: "NW_RankingFSpageCell", bundle: nil), forCellWithReuseIdentifier: "NW_RankingFSpageCell") + } + } + + + var rankingArr = [NW_RankingModel]() + + override func viewDidLoad() { + super.viewDidLoad() + + setFSpageV() + + } + + // MARK: - FSPagerView设置 + func setFSpageV(){ + self.pagerView.delegate = self + self.pagerView.dataSource = self + pagerView.transformer = FSPagerViewTransformer(type: .linear) + pagerView.automaticSlidingInterval = 0 + pagerView.isInfinite = true + pagerView.decelerationDistance = 2 + pagerView.itemSize = CGSize(width: 260, height:self.pagerView.bounds.height - 50) + pagerView.interitemSpacing = 10 + + } + + + // MARK: - 读取RankingJSon文件 +// func setNetwork(){ +// if let path = Bundle.main.path(forResource: "Ranking", ofType: "json") { +// do { +// let data = try Data(contentsOf: URL(fileURLWithPath: path)) +// +// // 使用 JSONDecoder 进行解析 +// let decoder = JSONDecoder() +// rankingArr = try decoder.decode([NW_RankingModel].self, from: data) +// +// +// } catch { +// print("Error reading JSON file:", error) +// } +// } +// } + +} + +// MARK: - FSPagerView代理 +extension NW_RankingVC:FSPagerViewDelegate,FSPagerViewDataSource{ + public func numberOfItems(in pagerView: FSPagerView) -> Int { + return 6 + } + + public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell { + let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "NW_RankingFSpageCell", at: index) as! NW_RankingFSpageCell + + // 设置图片 + cell.wallpaperImageV?.image = UIImage(named: "zw") + + + return cell + } + + // func pagerView(_ pagerView: FSPagerView, didSelectItemAt index: Int) { + // print("Tapped item at index: \(index)") + // + //// var viewControllerToPresent: UIViewController? + // + // // 根据索引跳转到不同的视图控制器 + // switch index { + // case 0: + // if self.blocklive != nil{ + // self.blocklive!() + // } + // case 1: + // if self.blockpopu != nil{ + // self.blockpopu!() + // } + // case 2: + // if self.blocknew != nil{ + // self.blocknew!() + // } + // default: + // break + // } + // } + +} diff --git a/wallpaper_BProject/Ranking/C/NW_RankingVC.xib b/wallpaper_BProject/Ranking/C/NW_RankingVC.xib new file mode 100644 index 0000000..d0709ce --- /dev/null +++ b/wallpaper_BProject/Ranking/C/NW_RankingVC.xib @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Ranking/M/NW_RankingModel.swift b/wallpaper_BProject/Ranking/M/NW_RankingModel.swift new file mode 100644 index 0000000..2440ce5 --- /dev/null +++ b/wallpaper_BProject/Ranking/M/NW_RankingModel.swift @@ -0,0 +1,15 @@ +// +// NW_RankingModel.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/30. +// + +import UIKit +@objcMembers +class NW_RankingModel: NSObject,Decodable { + + var content:String? + var img:String? + +} diff --git a/wallpaper_BProject/Ranking/V/NW_RankingCell.swift b/wallpaper_BProject/Ranking/V/NW_RankingCell.swift new file mode 100644 index 0000000..d3669e3 --- /dev/null +++ b/wallpaper_BProject/Ranking/V/NW_RankingCell.swift @@ -0,0 +1,29 @@ +// +// NW_RankingCell.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import UIKit +import SDWebImage + +class NW_RankingCell: UITableViewCell { + @IBOutlet weak var rkImageV: UIImageView! + + @IBOutlet weak var contentLabel: UILabel! + override func awakeFromNib() { + super.awakeFromNib() + rkImageV.layer.cornerRadius = 10 + } + + + var model:NW_RankingModel? { + didSet{ + contentLabel.text = model?.content + let imageURL = URL(string: (model?.img)!) + rkImageV.sd_setImage(with: imageURL, placeholderImage: UIImage(named: "zw"), context: nil) + } + } + +} diff --git a/wallpaper_BProject/Ranking/V/NW_RankingCell.xib b/wallpaper_BProject/Ranking/V/NW_RankingCell.xib new file mode 100644 index 0000000..cf9747a --- /dev/null +++ b/wallpaper_BProject/Ranking/V/NW_RankingCell.xib @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.swift b/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.swift new file mode 100644 index 0000000..9b5acbb --- /dev/null +++ b/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.swift @@ -0,0 +1,19 @@ +// +// NW_RankingFSpageCell.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/30. +// + +import UIKit +import FSPagerView + +class NW_RankingFSpageCell: FSPagerViewCell { + + @IBOutlet weak var wallpaperImageV: UIImageView! + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + wallpaperImageV.layer.cornerRadius = 10 + } +} diff --git a/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.xib b/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.xib new file mode 100644 index 0000000..1916f8c --- /dev/null +++ b/wallpaper_BProject/Ranking/V/NW_RankingFSpageCell.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wallpaper_BProject/Tool/CustomIndicatorImageView.swift b/wallpaper_BProject/Tool/CustomIndicatorImageView.swift new file mode 100644 index 0000000..60df3d2 --- /dev/null +++ b/wallpaper_BProject/Tool/CustomIndicatorImageView.swift @@ -0,0 +1,10 @@ +// +// CustomIndicatorImageView.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/30. +// + +import Foundation +import UIKit + diff --git a/wallpaper_BProject/Tool/Json/Ranking.json b/wallpaper_BProject/Tool/Json/Ranking.json new file mode 100644 index 0000000..dab6d41 --- /dev/null +++ b/wallpaper_BProject/Tool/Json/Ranking.json @@ -0,0 +1,52 @@ +[ + { + "content":"Colors such as blue, purple, and orange are intertwined to create a deep, warm atmosphere, giving people a sense of immersion.", + "img":"https://img2.baidu.com/it/u=2827952318,1206646553&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1354", + + }, + { + "content":"The transparent texture of the butterfly wings and the glittering details give them a delicate and dreamy feel, as if the butterflies were made of crystal or glass.", + "img":"https://wx4.sinaimg.cn/mw690/006cSilvgy1hshr1xirp6j31401z4e3y.jpg", + + }, + { + "content":"Exquisite design: The combination of cherry blossoms and trains in pink gives a very beautiful feeling", + "img":"https://ww4.sinaimg.cn/mw690/00839aAegy1hgak6xp4erj30u01t0gyz.jpg", + + }, + { + "content":"Clear layers: This wallpaper gives people a feeling of falling and makes them feel free.", + "img":"https://wx2.sinaimg.cn/mw690/006PK902gy1hswhk0mkw2j32924vgu0z.jpg", + + }, + { + "content":"Wallpaper of a kitten underwater. The bubbles and the kitten are very realistic. The kitten gives people a cute and majestic feeling.", + "img":"https://img2.baidu.com/it/u=4239371731,2978853425&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1455", + + }, + { + "content":"The sense of layering is very strong, with the puppy and the clouds echoing each other.", + "img":"https://wx4.sinaimg.cn/mw690/0061lmcqgy1hswzttc9gaj30uf14kq60.jpg", + + }, + { + "content":"The lens focuses on the sunset and blurs the characters, giving people a very warm feeling", + "img":"https://pics4.baidu.com/feed/4e4a20a4462309f768f5e9ff44c991f4d5cad690.jpeg?token=92be940bb3ad193b31082af3f8b30f07", + + }, + { + "content":"The combination of the bouquet and the sky is very fresh. I hope you will like it too.", + "img":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201908%2F02%2F20190802220827_vMmHB.thumb.400_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1727578943&t=c31ab2443cbc0811a5372dba31335d19", + + }, + { + "content":"The summer grocery store is very beautiful and fresh. Does it also take you to Hayao Miyazaki's animation?", + "img":"https://wx2.sinaimg.cn/mw690/00839aAegy1hs5xnn4batj30zu25o1f6.jpg", + + }, + { + "content":"Small flowers, riverside, willow trees, this is also a very beautiful wallpaper", + "img":"https://wx1.sinaimg.cn/mw690/007cfGGXly1hs9u4q72stj30j615kaio.jpg", + + }, +] diff --git a/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControll.swift b/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControll.swift new file mode 100644 index 0000000..ce75f67 --- /dev/null +++ b/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControll.swift @@ -0,0 +1,270 @@ +// +// SPSegmentController.swift +// SegmentedPageViewController +// +// Created by Sha Yan on 10/17/20. +// + +import UIKit + +protocol SPSegmentedContollDelegate: class { + func itemChoosed(withIndex index: Int) +} + +final class SPSegmentedControll: UIView { + + //MARK:- Customizable Values + + ///Values which can be used to customize SPSegmentController Appereance + + ///The color of selected item + public var highlightColor: UIColor = .systemBlue { didSet { + itemViews.forEach { $0.highlightColor = highlightColor } + underlineImageView.tintColor = highlightColor + setUnderlineImageViewBackgroundIfNeeded() + }} + + + //The color of unselected items + public var textColor: UIColor = .secondaryLabel { didSet { + itemViews.forEach { $0.textColor = textColor } + }} + + public var font: UIFont = UIFont.systemFont(ofSize: UIFont.systemFontSize) { didSet { + itemViews.forEach {$0.font = font} + }} + + /** + The Image which always be in center bottom of selected Item + If Image set as nil a view with backgroundColor of highlightColor appears instead + */ + public var underlineImage: UIImage? { didSet { + underlineImageView.image = underlineImage + setUnderlineImageViewBackgroundIfNeeded() + }} + + public var underlineImageViewCornerRadius: CGFloat = 0 { didSet { + underlineImageView.layer.cornerRadius = underlineImageViewCornerRadius + }} + + public var underlineHeight: CGFloat = 3 { didSet { + underlineViewHeightConstraint?.constant = underlineHeight + stackViewBottomConstraint.constant = -underlineHeight + layoutIfNeeded() + }} + + ///This variable changes the height of SegmentController + public var itemsHeight: CGFloat = 50 { didSet { + stackViewHeighConstraint.constant = itemsHeight + layoutSubviews() + }} + + public var underlineMovementAnimationLenght: Double = 0.3 + + ///This variable changes the space between items of SegmentController + public var spacing = CGFloat(5) { + didSet { stackView.spacing = spacing } + } + + + //MARK:- Variables + + ///This is what an item of SPSegmentController should contains. + public struct ItemInfo { + var icon: UIImage? = nil + var selectedIcon: UIImage? = nil + let name: String + } + private(set) var itemInfos = [ItemInfo]() + + ///Views that have been created based on itemInfos that passed in initializer + private(set) var itemViews = [SPSegmentedControllItem]() + + weak var delegate: SPSegmentedContollDelegate? + + private(set) var shouldFillProportionally: Bool = true + + + //MARK:- UIKit Variables + + + private lazy var underlineImageView: UIImageView = { + let view = UIImageView() + view.contentMode = .scaleAspectFit + view.clipsToBounds = true + view.backgroundColor = highlightColor + view.translatesAutoresizingMaskIntoConstraints = false + view.isHidden = true + return view + }() + + private var underlineViewCenterXConstrait: NSLayoutConstraint? + private var underlineViewWidthConstraint: NSLayoutConstraint? + private var underlineViewHeightConstraint: NSLayoutConstraint? + + + fileprivate lazy var stackView: UIStackView = { + let stackView = UIStackView() + stackView.axis = .horizontal + stackView.alignment = .fill + stackView.distribution = .fillProportionally + stackView.spacing = spacing + stackView.translatesAutoresizingMaskIntoConstraints = false + return stackView + }() + private var stackViewHeighConstraint: NSLayoutConstraint! + private var stackViewBottomConstraint: NSLayoutConstraint! + + + //MARK:- Initializers + + private override init(frame: CGRect) { + super.init(frame: frame) + translatesAutoresizingMaskIntoConstraints = false + addStackView() + } + + convenience init(items: [ItemInfo], shouldFillProportionally: Bool) { + self.init() + self.itemInfos = items + self.shouldFillProportionally = shouldFillProportionally + addItemsToStackView() + addUnderlineView() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + } + + //MARK:- Setup Design Functions + + private func addStackView() { + addSubview(stackView) + stackView.leftAnchor.constraint(equalTo: leftAnchor).isActive = true + stackView.rightAnchor.constraint(equalTo: rightAnchor).isActive = true + stackView.topAnchor.constraint(equalTo: topAnchor).isActive = true + stackViewBottomConstraint = stackView.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -underlineHeight) + stackViewHeighConstraint = stackView.heightAnchor.constraint(equalToConstant: itemsHeight) + stackViewHeighConstraint.isActive = true + stackViewBottomConstraint.isActive = true + + } + + private func addUnderlineView() { + + guard let firstItemView = itemViews.first else { return } + + addSubview(underlineImageView) + underlineImageView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true + + underlineViewCenterXConstrait = underlineImageView.centerXAnchor.constraint(equalTo: firstItemView.centerXAnchor) + underlineViewCenterXConstrait?.isActive = true + + underlineViewWidthConstraint = underlineImageView.widthAnchor.constraint(equalTo: firstItemView.widthAnchor) + underlineViewWidthConstraint?.isActive = true + + underlineViewHeightConstraint = underlineImageView.heightAnchor.constraint(equalToConstant: underlineHeight) + underlineViewHeightConstraint?.isActive = true + + } + + + private func addItemsToStackView() { + var index = 0 + for item in itemInfos { + let itemView = SPSegmentedControllItem( + index: index, + icon: item.icon, + selectedIcon: item.selectedIcon, + name: item.name, + fillBasedOnWidth: shouldFillProportionally, + selectedColor: highlightColor, + deselctedColor: textColor) + + itemView.delegate = self + + itemViews.append(itemView) + stackView.addArrangedSubview(itemView) + + index += 1 + } + + } + + private func setUnderlineImageViewBackgroundIfNeeded() { + underlineImageView.backgroundColor = underlineImage == nil ? highlightColor : .clear + } + + //MARK:- Functions + + func chooseItemAsSelected(at index: Int) { + guard (0.. NSLayoutConstraint { + self.priority = UILayoutPriority(999) + return self + } + + func withLowPriority() -> NSLayoutConstraint { + self.priority = UILayoutPriority(150) + return self + } +} diff --git a/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControllItem.swift b/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControllItem.swift new file mode 100644 index 0000000..948ec0b --- /dev/null +++ b/wallpaper_BProject/Tool/SegmentedPageViewController/SPSegmentedControllItem.swift @@ -0,0 +1,202 @@ +// +// SPSegmentControllerItem.swift +// SegmentedPageViewController +// +// Created by Sha Yan on 12/12/20. +// + +import Foundation +import UIKit + + +protocol SPSegmentedControllItemDelegate: class { + func itemDidSelected(_ item: SPSegmentedControllItem, withIndex index: Int) +} + + +final class SPSegmentedControllItem: UIView { + + //MARK:- Variables + + private var icon: UIImage? = nil + private var selectedIcon: UIImage? = nil + + public var highlightColor: UIColor = .systemBlue { didSet { + highlightLabel.textColor = highlightColor + highlightIconView.tintColor = highlightColor + }} + + public var textColor: UIColor = .secondaryLabel { didSet { + label.textColor = textColor + }} + + public var name: String { didSet { + label.text = name + highlightLabel.text = name + }} + + public var font: UIFont! { didSet { + label.font = font + highlightLabel.font = font + }} + + public var highlightAlpha = CGFloat(1) { didSet { + highlightLabel.alpha = highlightAlpha + highlightIconView.alpha = highlightAlpha + iconView.alpha = 1 - highlightAlpha + }} + + + private(set) var index: Int + weak var delegate: SPSegmentedControllItemDelegate? + + + public var isSelected = false { didSet { + highlightLabel.alpha = isSelected ? 1 : 0 + iconView.alpha = !isSelected ? 1 : 0 + highlightIconView.alpha = isSelected ? 1 : 0 + }} + + private var fillBasedOnWidth: Bool = true + + + + //MARK:- UIKit Variables + + private lazy var label: UILabel = { + let label = UILabel() + label.textAlignment = .center + label.textColor = textColor + label.isUserInteractionEnabled = true + label.translatesAutoresizingMaskIntoConstraints = false + return label + }() + + private lazy var highlightLabel: UILabel = { + let label = UILabel() + label.textAlignment = .center + label.textColor = highlightColor + label.isUserInteractionEnabled = true + label.alpha = 0 + label.translatesAutoresizingMaskIntoConstraints = false + return label + }() + + + private lazy var iconView: UIImageView = { + let view = UIImageView() + view.contentMode = .scaleAspectFit + view.tintColor = textColor + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + + + private lazy var highlightIconView: UIImageView = { + let view = UIImageView() + view.contentMode = .scaleAspectFit + view.tintColor = highlightColor + view.alpha = 0 + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + + + private lazy var HStackView: UIStackView = { + let stackView = UIStackView() + stackView.axis = .horizontal + stackView.alignment = .center + stackView.distribution = .fill + stackView.spacing = 5 + stackView.translatesAutoresizingMaskIntoConstraints = false + return stackView + }() + + private lazy var tapGestureRecogniser = UITapGestureRecognizer(target: self, action: #selector(didTapped)) + + + //MARK:- Functions + + init(index: Int, + icon: UIImage?, + selectedIcon: UIImage?, + name: String, + fillBasedOnWidth: Bool, + selectedColor: UIColor, + deselctedColor: UIColor, + frame: CGRect = .zero) { + + self.icon = icon + self.selectedIcon = selectedIcon + self.name = name + self.fillBasedOnWidth = fillBasedOnWidth + self.index = index + super.init(frame: frame) + + addLabelWithIcon() + addHighlighLabel() + addHigHighlightIconIfExist() + assignValues() + + addGestureRecognizer(tapGestureRecogniser) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + + private func addLabelWithIcon() { + addSubview(iconView) + + // 设置 iconView 的大小和位置 + iconView.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true + iconView.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true + iconView.widthAnchor.constraint(equalToConstant: 100).isActive = true + iconView.heightAnchor.constraint(equalToConstant: 100).isActive = true + + // 将 label 添加到 iconView 上 + iconView.addSubview(label) + + // 将 label 居中到 iconView 的 X 和 Y 轴上 + label.centerXAnchor.constraint(equalTo: iconView.centerXAnchor).isActive = true + label.centerYAnchor.constraint(equalTo: iconView.centerYAnchor).isActive = true + + // 确保 label 的宽度和高度适配内容 + label.widthAnchor.constraint(lessThanOrEqualTo: iconView.widthAnchor).isActive = true + label.heightAnchor.constraint(lessThanOrEqualTo: iconView.heightAnchor).isActive = true + } + + + + private func addHighlighLabel() { + addSubview(highlightLabel) + highlightLabel.centerYAnchor.constraint(equalTo: label.centerYAnchor).isActive = true + highlightLabel.centerXAnchor.constraint(equalTo: label.centerXAnchor).isActive = true + highlightLabel.widthAnchor.constraint(equalTo: label.widthAnchor).isActive = true + highlightLabel.heightAnchor.constraint(equalTo: label.heightAnchor).isActive = true + } + + private func addHigHighlightIconIfExist() { + if selectedIcon == nil { return } + + addSubview(highlightIconView) + highlightIconView.centerYAnchor.constraint(equalTo: iconView.centerYAnchor).isActive = true + highlightIconView.centerXAnchor.constraint(equalTo: iconView.centerXAnchor).isActive = true + highlightIconView.widthAnchor.constraint(equalTo: iconView.widthAnchor).isActive = true + highlightIconView.heightAnchor.constraint(equalTo: iconView.heightAnchor).isActive = true + + } + + private func assignValues() { + iconView.image = icon + label.text = name + highlightLabel.text = name + highlightIconView.image = selectedIcon + } + + @objc private func didTapped() { + delegate?.itemDidSelected(self, withIndex: index) + } + +} diff --git a/wallpaper_BProject/Tool/SegmentedPageViewController/SegmentedPageViewController.swift b/wallpaper_BProject/Tool/SegmentedPageViewController/SegmentedPageViewController.swift new file mode 100644 index 0000000..17fb72e --- /dev/null +++ b/wallpaper_BProject/Tool/SegmentedPageViewController/SegmentedPageViewController.swift @@ -0,0 +1,317 @@ +// +// SegmentedPageViewController.swift +// SegmentedPageViewController +// +// Created by Sha Yan on 10/17/20. +// + +import UIKit + + +protocol SegmentedPageViewControllerDelegate: class { + ///Use this delegate function to know when SegmentedPageViewController completely transitioned to another page + func pageControllerScrolledToPage(withIndex index: Int) +} + +extension SegmentedPageViewControllerDelegate { + func pageControllerScrolledToPage(withIndex index: Int) {} +} + + +class SegmentedPageViewController: UIViewController { + + //MARK:- Variables + + ///An item of SegmentedPageViewController. + struct Page { + let viewController: UIViewController + var icon: UIImage? = nil + var selectedIcon: UIImage? = nil + let title: String + } + private(set) public var pages = [Page]() + + + var viewControllers: [UIViewController] { + pages.map{ $0.viewController } + } + + + ///How items of SegmentController should distribute. + enum SegmentControllFilMode { + case proportionally + case equally + } + private var fillMode: SegmentControllFilMode! + + + public weak var delegate: SegmentedPageViewControllerDelegate? + + ///These variables use for handelling transition of SegmentController components when user manually scrolls PageViewController. + + private var scrollViewInitialOffset = CGFloat(0) + private var currentVCIndex = 0 + private var isScrollViewDragging = false { didSet { + //Disable these two components temporarily during dragging to prevent possible issues. + pageViewController.view.isUserInteractionEnabled = !isScrollViewDragging + segmentController.isUserInteractionEnabled = !isScrollViewDragging + } } + + //MARK:- UIKit Variables + + private var pageViewController: UIPageViewController! + var segmentController: SPSegmentedControll! + + + //MARK:- Initializer + + private init() { + super.init(nibName: nil, bundle: nil) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + convenience init(pages: [Page], segmentControllerFillMode: SegmentControllFilMode) { + self.init() + self.pages = pages + self.fillMode = segmentControllerFillMode + self.segmentController = SPSegmentedControll( + items: pages.convertToSegmenItems(), + shouldFillProportionally: segmentControllerFillMode == .proportionally) + } + + + + //MARK:- Functions + + override func viewDidLoad() { + view.backgroundColor = .clear + + addSegmentController() + addPageViewController() + + selectFirstPage() + + segmentController.delegate = self + pageViewController.delegate = self + pageViewController.dataSource = self + scrollViewOfPageViewController().delegate = self + + } + + private func addSegmentController() { + view.addSubview(segmentController) + segmentController.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true + segmentController.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true + segmentController.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true + + } + + + private func addPageViewController() { + pageViewController = UIPageViewController(transitionStyle: .scroll, + navigationOrientation: .horizontal) + + addChild(pageViewController) + view.addSubview(pageViewController.view) + pageViewController.didMove(toParent: self) + + pageViewController.view.translatesAutoresizingMaskIntoConstraints = false + pageViewController.view.backgroundColor = .clear + + pageViewController.view.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true + pageViewController.view.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true + pageViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true + pageViewController.view.topAnchor.constraint(equalTo: segmentController.bottomAnchor).isActive = true + + } + + + private func scrollViewOfPageViewController() -> UIScrollView { + return pageViewController.view.subviews.filter{$0 is UIScrollView}.first as! UIScrollView + } + + + private func selectFirstPage() { + segmentController.itemViews.first?.isSelected = true + guard let firstVC = viewControllers.first else { return } + pageViewController.setViewControllers([firstVC], + direction: .forward, + animated: false, + completion: nil) + } + +} + +//MARK:- PageController Delegates + +extension SegmentedPageViewController: UIPageViewControllerDelegate, UIPageViewControllerDataSource { + final func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { + viewControllers.viewController(before: viewController) + } + + final func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { + viewControllers.viewController(after: viewController) + } + + final func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) { + + guard let currentVC = (pageViewController.viewControllers?.first), + let index = viewControllers.firstIndex(of: currentVC) else{ return } + + segmentController.chooseItemAsSelected(at: index) + segmentController.moveUnderlineImageView(toItemAtIndex: index, animated: false) + + currentVCIndex = index + isScrollViewDragging = false + + delegate?.pageControllerScrolledToPage(withIndex: index) + } + + +} + + +//MARK:- SPSegmentController Delegates + +extension SegmentedPageViewController: SPSegmentedContollDelegate { + func itemChoosed(withIndex index: Int) { + pageViewController.jumpToViewController(withIndex: index, wichExistsIn: viewControllers) + currentVCIndex = index + } +} + + +//MARK:- ScrollView Delegates + +extension SegmentedPageViewController: UIScrollViewDelegate { + + final func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + scrollViewInitialOffset = scrollView.contentOffset.x + isScrollViewDragging = true + } + + final func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { + isScrollViewDragging = false + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + + //First whe make sure that scrolling caused by user dragging, not programaticlly scroll + guard isScrollViewDragging else { return } + + //Figure out which diraction user is scrolling + var direction = 0 + if scrollViewInitialOffset < scrollView.contentOffset.x { + direction = 1 //going right + }else if scrollViewInitialOffset > scrollView.contentOffset.x { + direction = -1 //going left + } + + //Configure which percent have been scrolled + let positionFromStartOfCurrentPage = abs(scrollViewInitialOffset - scrollView.contentOffset.x) + let percent = positionFromStartOfCurrentPage / self.view.frame.width + + + //Make sure user scrolles between items + guard (0.. UIViewController? { + + if let index = self.firstIndex(of: viewController){ + if index < self.count - 1 { + return self[index + 1] + }else { + return nil + } + } + return nil + } + + + func viewController(before viewController: UIViewController) -> UIViewController? { + + if let index = self.firstIndex(of: viewController) { + if index > 0 { + return self[index - 1] + }else { + return nil + } + } + return nil + } +} + +//MARK:- PageController Extensions + +fileprivate extension UIPageViewController { + func jumpToViewController(withIndex index: Int, wichExistsIn viewControllers: [UIViewController]) { + if let currentVC = self.viewControllers?.first, + let currentIndex = viewControllers.firstIndex(of: currentVC) { + + if index > currentIndex { + self.setViewControllers([viewControllers[index]], + direction: .forward, + animated: true, + completion: nil) + + }else if index < currentIndex { + self.setViewControllers([viewControllers[index]], + direction: .reverse, + animated: true, + completion: nil) + } + } + } + +} + + +fileprivate extension Array where Element == SegmentedPageViewController.Page { + func convertToSegmenItems() -> [SPSegmentedControll.ItemInfo] { + self.map { + SPSegmentedControll.ItemInfo( + icon: $0.icon, + selectedIcon: $0.selectedIcon, + name: $0.title) + } + } +} diff --git a/wallpaper_BProject/Tool/WaterfallFlowLayout.swift b/wallpaper_BProject/Tool/WaterfallFlowLayout.swift new file mode 100644 index 0000000..2c1c24d --- /dev/null +++ b/wallpaper_BProject/Tool/WaterfallFlowLayout.swift @@ -0,0 +1,102 @@ +// +// WaterfallFlowLayout.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import Foundation +import UIKit + +// 自定义瀑布流布局 +class WaterfallFlowLayout: UICollectionViewFlowLayout { + + let heightInt = [300,320,310,280,290] + + + // 瀑布流列数 + var numberOfColumns: Int = 2 + + // 单元格的内边距 + var cellPadding: CGFloat = 2 + + // 用于缓存所有计算过的布局属性 + private var cache: [UICollectionViewLayoutAttributes] = [] + + // 用于记录内容的高度 + private var contentHeight: CGFloat = 0 + + // 返回集合视图内容的总尺寸 + override var collectionViewContentSize: CGSize { + return CGSize(width: collectionView?.bounds.width ?? 0, height: contentHeight) + } + + // 准备布局,每次布局无效时都会调用 + override func prepare() { + // 如果缓存为空,且有 collectionView 存在,则计算布局 + guard cache.isEmpty, let collectionView = collectionView else { return } + + // 计算每列的宽度 + let columnWidth = collectionView.bounds.width / CGFloat(numberOfColumns) + + // 初始化每列的 X 偏移量 + var xOffset: [CGFloat] = [] + for column in 0.. [UICollectionViewLayoutAttributes]? { + return cache.filter { $0.frame.intersects(rect) } + } + + // 返回指定项目的布局属性 + override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? { + return cache[indexPath.item] + } + + + func getRandomheight() -> Int? { + return heightInt.randomElement() + } + +} + +//let randomNumber = Int.random(in: 0...500) + +func getRandomInt() -> Int?{ + + return Int.random(in: 0...500) + +} diff --git a/wallpaper_BProject/Tool/color.swift b/wallpaper_BProject/Tool/color.swift new file mode 100644 index 0000000..6304f8b --- /dev/null +++ b/wallpaper_BProject/Tool/color.swift @@ -0,0 +1,49 @@ +// +// color.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/29. +// + +import Foundation +import UIKit + +extension UIColor{ + + class func hexSting(color:String,alpha:CGFloat)->UIColor{ + + var cString:String = color.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased() + if cString.count < 6{ + return UIColor.white + } + if cString.hasPrefix("OX") { + let temstr:NSString = cString as NSString + cString = temstr.substring(from: 2)as String + } + if cString.hasPrefix("#") { + let temstr:NSString = cString as NSString + cString = temstr.substring(from: 1) as String + } + if cString.count != 6{ + return UIColor.white + } + var range:NSRange = NSMakeRange(0, 2) + let temstr2:NSString = cString as NSString + let rString = temstr2.substring(with: range)as String + range = NSMakeRange(2, 2) + let gString = temstr2.substring(with: range)as String + range = NSMakeRange(4, 2) + let bString = temstr2.substring(with: range)as String + var r:UInt32 = 0,g:UInt32 = 0,b:UInt32 = 0 + Scanner(string: rString).scanHexInt32(&r) + Scanner(string: gString).scanHexInt32(&g) + Scanner(string: bString).scanHexInt32(&b) + + return self.init(red: CGFloat(r)/255.0, green: CGFloat(g)/255.0, blue: CGFloat(b)/255.0, alpha: alpha) + } + + class func colorWithHexString(color:String)->UIColor{ + return hexSting(color: color, alpha: 1.0) + } + +} diff --git a/wallpaper_BProject/ViewController.swift b/wallpaper_BProject/ViewController.swift new file mode 100644 index 0000000..9fe322c --- /dev/null +++ b/wallpaper_BProject/ViewController.swift @@ -0,0 +1,21 @@ +// +// ViewController.swift +// wallpaper_BProject +// +// Created by 忆海16 on 2024/8/28. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + + + } + + +} +