我的,ranking
This commit is contained in:
parent
e83f58454f
commit
a8b7a3f2cf
@ -38,6 +38,10 @@
|
||||
75B426ED2C4E3A02001844C2 /* CustomCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B426EC2C4E3A02001844C2 /* CustomCollectionViewFlowLayout.swift */; };
|
||||
75B426F12C4E3A3C001844C2 /* WP_WallpaperCollectionCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75B426F02C4E3A3C001844C2 /* WP_WallpaperCollectionCell.xib */; };
|
||||
75B426F22C4E3A3C001844C2 /* WP_WallpaperCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B426EF2C4E3A3C001844C2 /* WP_WallpaperCollectionCell.swift */; };
|
||||
75B426F92C4E457D001844C2 /* 4k.json in Resources */ = {isa = PBXBuildFile; fileRef = 75B426F82C4E457D001844C2 /* 4k.json */; };
|
||||
75B426FC2C4E45EB001844C2 /* WP_4KModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B426FB2C4E45EB001844C2 /* WP_4KModel.swift */; };
|
||||
75B426FF2C4E4990001844C2 /* WP_RankingCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75B426FE2C4E4990001844C2 /* WP_RankingCell.xib */; };
|
||||
75B427002C4E4990001844C2 /* WP_RankingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B426FD2C4E4990001844C2 /* WP_RankingCell.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@ -75,6 +79,10 @@
|
||||
75B426EC2C4E3A02001844C2 /* CustomCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomCollectionViewFlowLayout.swift; sourceTree = "<group>"; };
|
||||
75B426EF2C4E3A3C001844C2 /* WP_WallpaperCollectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WP_WallpaperCollectionCell.swift; sourceTree = "<group>"; };
|
||||
75B426F02C4E3A3C001844C2 /* WP_WallpaperCollectionCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WP_WallpaperCollectionCell.xib; sourceTree = "<group>"; };
|
||||
75B426F82C4E457D001844C2 /* 4k.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 4k.json; sourceTree = "<group>"; };
|
||||
75B426FB2C4E45EB001844C2 /* WP_4KModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WP_4KModel.swift; sourceTree = "<group>"; };
|
||||
75B426FD2C4E4990001844C2 /* WP_RankingCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WP_RankingCell.swift; sourceTree = "<group>"; };
|
||||
75B426FE2C4E4990001844C2 /* WP_RankingCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WP_RankingCell.xib; sourceTree = "<group>"; };
|
||||
9CBEA2442AE6AC8044848FC3 /* Pods-WallpaperHD_Live.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WallpaperHD_Live.release.xcconfig"; path = "Target Support Files/Pods-WallpaperHD_Live/Pods-WallpaperHD_Live.release.xcconfig"; sourceTree = "<group>"; };
|
||||
A14E883F09B5C78F804A4357 /* Pods-WallpaperHD_Live.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WallpaperHD_Live.debug.xcconfig"; path = "Target Support Files/Pods-WallpaperHD_Live/Pods-WallpaperHD_Live.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
F59CBF68E08818FF22B15165 /* Pods_WallpaperHD_Live.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WallpaperHD_Live.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@ -214,6 +222,8 @@
|
||||
75B426C62C4E2AF6001844C2 /* Ranking */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
75B426FA2C4E45D2001844C2 /* M */,
|
||||
75B426F32C4E4373001844C2 /* V */,
|
||||
75B426C72C4E2B00001844C2 /* C */,
|
||||
);
|
||||
path = Ranking;
|
||||
@ -231,6 +241,7 @@
|
||||
75B426D42C4E2B89001844C2 /* Tool */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
75B426F82C4E457D001844C2 /* 4k.json */,
|
||||
75B426EC2C4E3A02001844C2 /* CustomCollectionViewFlowLayout.swift */,
|
||||
75B426D72C4E36D9001844C2 /* my_wallpaper.json */,
|
||||
75B426D52C4E2B9F001844C2 /* colorManager.swift */,
|
||||
@ -255,6 +266,23 @@
|
||||
path = V;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
75B426F32C4E4373001844C2 /* V */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
75B426FD2C4E4990001844C2 /* WP_RankingCell.swift */,
|
||||
75B426FE2C4E4990001844C2 /* WP_RankingCell.xib */,
|
||||
);
|
||||
path = V;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
75B426FA2C4E45D2001844C2 /* M */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
75B426FB2C4E45EB001844C2 /* WP_4KModel.swift */,
|
||||
);
|
||||
path = M;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -316,6 +344,8 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
75B426F92C4E457D001844C2 /* 4k.json in Resources */,
|
||||
75B426FF2C4E4990001844C2 /* WP_RankingCell.xib in Resources */,
|
||||
75B426D82C4E36D9001844C2 /* my_wallpaper.json in Resources */,
|
||||
75B426E72C4E372C001844C2 /* WP_FlowersVC.xib in Resources */,
|
||||
75B426DF2C4E3711001844C2 /* WP_PopularVC.xib in Resources */,
|
||||
@ -382,6 +412,7 @@
|
||||
files = (
|
||||
75B426CF2C4E2B31001844C2 /* WP_RankingVC.swift in Sources */,
|
||||
75B426E42C4E371D001844C2 /* WP_Christmas.swift in Sources */,
|
||||
75B426FC2C4E45EB001844C2 /* WP_4KModel.swift in Sources */,
|
||||
75B426DC2C4E3705001844C2 /* WP_NewestVC.swift in Sources */,
|
||||
75B426A42C4E092C001844C2 /* ViewController.swift in Sources */,
|
||||
75B426B42C4E0CF5001844C2 /* WP_RootVC.swift in Sources */,
|
||||
@ -390,6 +421,7 @@
|
||||
75B426D62C4E2B9F001844C2 /* colorManager.swift in Sources */,
|
||||
75B426EB2C4E38F9001844C2 /* WallpaperModel.swift in Sources */,
|
||||
75B426ED2C4E3A02001844C2 /* CustomCollectionViewFlowLayout.swift in Sources */,
|
||||
75B427002C4E4990001844C2 /* WP_RankingCell.swift in Sources */,
|
||||
75B426A02C4E092C001844C2 /* AppDelegate.swift in Sources */,
|
||||
75B426D32C4E2B49001844C2 /* WP_MineVC.swift in Sources */,
|
||||
75B426E82C4E372C001844C2 /* WP_FlowersVC.swift in Sources */,
|
||||
|
||||
21
WallpaperHD_Live/Assets.xcassets/Rectangle.imageset/Contents.json
vendored
Normal file
21
WallpaperHD_Live/Assets.xcassets/Rectangle.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "截屏2024-03-11 16.39.35.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
WallpaperHD_Live/Assets.xcassets/Rectangle.imageset/截屏2024-03-11 16.39.35.png
vendored
Normal file
BIN
WallpaperHD_Live/Assets.xcassets/Rectangle.imageset/截屏2024-03-11 16.39.35.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
25
WallpaperHD_Live/Base.lproj/LaunchScreen.storyboard
Normal file
25
WallpaperHD_Live/Base.lproj/LaunchScreen.storyboard
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
24
WallpaperHD_Live/Base.lproj/Main.storyboard
Normal file
24
WallpaperHD_Live/Base.lproj/Main.storyboard
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@ -1,22 +1,170 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WP_MineVC" customModuleProvider="target">
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WP_MineVC" customModule="WallpaperHD_Live" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="About US" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gdb-2u-fIh">
|
||||
<rect key="frame" x="154.5" y="58" width="105.5" height="27.5"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="23"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uRm-23-oaA">
|
||||
<rect key="frame" x="10" y="105.5" width="394" height="100"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ME2-wV-EFh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="198" height="100"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ILs-G9-o05">
|
||||
<rect key="frame" x="0.0" y="0.0" width="193" height="100"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="about Us" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9NJ-Ad-riB">
|
||||
<rect key="frame" x="53" y="38" width="87" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="20"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBrownColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="9NJ-Ad-riB" firstAttribute="centerX" secondItem="ILs-G9-o05" secondAttribute="centerX" id="SAa-0I-p1U"/>
|
||||
<constraint firstItem="9NJ-Ad-riB" firstAttribute="centerY" secondItem="ILs-G9-o05" secondAttribute="centerY" id="w2Y-Ad-GT1"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="ILs-G9-o05" secondAttribute="trailing" constant="5" id="GY3-Ql-dXU"/>
|
||||
<constraint firstItem="ILs-G9-o05" firstAttribute="top" secondItem="ME2-wV-EFh" secondAttribute="top" id="b0Z-kL-sxa"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ILs-G9-o05" secondAttribute="bottom" id="c5t-sf-anb"/>
|
||||
<constraint firstItem="ILs-G9-o05" firstAttribute="leading" secondItem="ME2-wV-EFh" secondAttribute="leading" id="qCu-h7-xQ2"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cyL-T6-KQd">
|
||||
<rect key="frame" x="203" y="0.0" width="191" height="100"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="my collection" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wGp-xY-Eal">
|
||||
<rect key="frame" x="30.5" y="38" width="130.5" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="20"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBrownColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="wGp-xY-Eal" firstAttribute="centerX" secondItem="cyL-T6-KQd" secondAttribute="centerX" id="dWm-wQ-zxt"/>
|
||||
<constraint firstItem="wGp-xY-Eal" firstAttribute="centerY" secondItem="cyL-T6-KQd" secondAttribute="centerY" id="da0-V4-HXO"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ME2-wV-EFh" firstAttribute="top" secondItem="uRm-23-oaA" secondAttribute="top" id="7Em-mZ-dC8"/>
|
||||
<constraint firstAttribute="bottom" secondItem="cyL-T6-KQd" secondAttribute="bottom" id="9BY-HA-zVU"/>
|
||||
<constraint firstItem="ME2-wV-EFh" firstAttribute="width" secondItem="uRm-23-oaA" secondAttribute="width" multiplier="1:2" constant="1" id="FTT-38-qc1"/>
|
||||
<constraint firstAttribute="height" constant="100" id="I7w-N9-UsG"/>
|
||||
<constraint firstItem="cyL-T6-KQd" firstAttribute="leading" secondItem="ME2-wV-EFh" secondAttribute="trailing" constant="5" id="W8K-Ty-j3t"/>
|
||||
<constraint firstAttribute="trailing" secondItem="cyL-T6-KQd" secondAttribute="trailing" id="aH0-5O-Gds"/>
|
||||
<constraint firstItem="cyL-T6-KQd" firstAttribute="top" secondItem="uRm-23-oaA" secondAttribute="top" id="dvF-Ni-CXZ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ME2-wV-EFh" secondAttribute="bottom" id="f0Z-0Q-Pi6"/>
|
||||
<constraint firstItem="ME2-wV-EFh" firstAttribute="leading" secondItem="uRm-23-oaA" secondAttribute="leading" id="tlQ-8Z-PD0"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="OHV-w1-Awf">
|
||||
<rect key="frame" x="10" y="225.5" width="394" height="100"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iGY-0M-TGj">
|
||||
<rect key="frame" x="0.0" y="0.0" width="198" height="100"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qVq-9Z-lcW">
|
||||
<rect key="frame" x="0.0" y="0.0" width="193" height="100"/>
|
||||
<color key="backgroundColor" systemColor="systemBrownColor"/>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Privacy Policy" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uP9-Pw-WiS">
|
||||
<rect key="frame" x="30.5" y="38" width="137" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="20"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="qVq-9Z-lcW" secondAttribute="trailing" constant="5" id="4ob-Q2-5SF"/>
|
||||
<constraint firstItem="uP9-Pw-WiS" firstAttribute="centerY" secondItem="iGY-0M-TGj" secondAttribute="centerY" id="ORi-0U-hgJ"/>
|
||||
<constraint firstItem="qVq-9Z-lcW" firstAttribute="top" secondItem="iGY-0M-TGj" secondAttribute="top" id="UJm-ox-uZZ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="qVq-9Z-lcW" secondAttribute="bottom" id="YD2-te-QGd"/>
|
||||
<constraint firstItem="uP9-Pw-WiS" firstAttribute="centerX" secondItem="iGY-0M-TGj" secondAttribute="centerX" id="qFU-q1-m4I"/>
|
||||
<constraint firstItem="qVq-9Z-lcW" firstAttribute="leading" secondItem="iGY-0M-TGj" secondAttribute="leading" id="y1L-mg-kWP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JfU-6J-vjV">
|
||||
<rect key="frame" x="203" y="0.0" width="191" height="100"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Feedback" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6t0-0p-aho">
|
||||
<rect key="frame" x="48" y="38" width="95.5" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="20"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBrownColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="6t0-0p-aho" firstAttribute="centerX" secondItem="JfU-6J-vjV" secondAttribute="centerX" id="SnD-Fl-mRO"/>
|
||||
<constraint firstItem="6t0-0p-aho" firstAttribute="centerY" secondItem="JfU-6J-vjV" secondAttribute="centerY" id="ua0-q0-zXf"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="iGY-0M-TGj" secondAttribute="bottom" id="DyN-1c-S16"/>
|
||||
<constraint firstAttribute="trailing" secondItem="JfU-6J-vjV" secondAttribute="trailing" id="EVN-Y2-1u8"/>
|
||||
<constraint firstItem="iGY-0M-TGj" firstAttribute="leading" secondItem="OHV-w1-Awf" secondAttribute="leading" id="F8K-yx-vr2"/>
|
||||
<constraint firstItem="iGY-0M-TGj" firstAttribute="top" secondItem="OHV-w1-Awf" secondAttribute="top" id="Gb6-4j-P79"/>
|
||||
<constraint firstItem="iGY-0M-TGj" firstAttribute="width" secondItem="OHV-w1-Awf" secondAttribute="width" multiplier="1:2" constant="1" id="NLj-Bc-jqq"/>
|
||||
<constraint firstItem="JfU-6J-vjV" firstAttribute="leading" secondItem="iGY-0M-TGj" secondAttribute="trailing" constant="5" id="XZt-8J-8q2"/>
|
||||
<constraint firstAttribute="bottom" secondItem="JfU-6J-vjV" secondAttribute="bottom" id="a4v-I0-IDR"/>
|
||||
<constraint firstItem="JfU-6J-vjV" firstAttribute="top" secondItem="OHV-w1-Awf" secondAttribute="top" id="cia-fP-01T"/>
|
||||
<constraint firstAttribute="height" constant="100" id="eFc-16-YBP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="OHV-w1-Awf" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="10" id="5my-To-LtZ"/>
|
||||
<constraint firstItem="uRm-23-oaA" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="10" id="LRH-aN-TMa"/>
|
||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="OHV-w1-Awf" secondAttribute="trailing" constant="10" id="O48-XB-m4x"/>
|
||||
<constraint firstItem="gdb-2u-fIh" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="10" id="Ysw-4k-snx"/>
|
||||
<constraint firstItem="OHV-w1-Awf" firstAttribute="top" secondItem="uRm-23-oaA" secondAttribute="bottom" constant="20" id="br5-pF-e6C"/>
|
||||
<constraint firstItem="gdb-2u-fIh" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="jMj-kn-Ca7"/>
|
||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="uRm-23-oaA" secondAttribute="trailing" constant="10" id="nMe-By-Nyz"/>
|
||||
<constraint firstItem="uRm-23-oaA" firstAttribute="top" secondItem="gdb-2u-fIh" secondAttribute="bottom" constant="20" id="tRh-jp-fcD"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="65" y="-11"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
<systemColor name="systemBrownColor">
|
||||
<color red="0.63529411759999999" green="0.51764705879999995" blue="0.36862745099999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||
@ -6,13 +6,86 @@
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import FSPagerView
|
||||
import MJExtension
|
||||
import SDWebImage
|
||||
|
||||
class WP_RankingVC: WP_RootVC {
|
||||
|
||||
@IBOutlet weak var pagerView: FSPagerView!
|
||||
|
||||
var wallpapers = [WP_4KModel]()
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
setJsondata()
|
||||
setFSpageV()
|
||||
}
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
self.navigationController?.navigationBar.isHidden = true
|
||||
}
|
||||
|
||||
|
||||
func setJsondata(){
|
||||
// 读取 JSON 文件并解析
|
||||
if let path = Bundle.main.path(forResource: "4k", ofType: "json") {
|
||||
do {
|
||||
let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .mappedIfSafe)
|
||||
|
||||
// 使用 MJExtension 解析 JSON 数据
|
||||
let jsonArray = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [[String: Any]]
|
||||
|
||||
if let jsonArray = jsonArray {
|
||||
// 使用 MJExtension 将 JSON 数组转换为模型数组
|
||||
wallpapers = (WP_4KModel.mj_objectArray(withKeyValuesArray: jsonArray) as? [WP_4KModel])!
|
||||
|
||||
}
|
||||
} catch {
|
||||
print("Error reading JSON file:", error.localizedDescription)
|
||||
}
|
||||
} else {
|
||||
print("JSON file not found.")
|
||||
}
|
||||
}
|
||||
|
||||
func setFSpageV(){
|
||||
self.pagerView.delegate = self
|
||||
self.pagerView.dataSource = self
|
||||
pagerView.register(UINib(nibName: "WP_RankingCell", bundle: nil), forCellWithReuseIdentifier: "WP_RankingCell")
|
||||
pagerView.transformer = FSPagerViewTransformer(type: .overlap)
|
||||
pagerView.automaticSlidingInterval = 0
|
||||
pagerView.isInfinite = true
|
||||
pagerView.decelerationDistance = 1
|
||||
pagerView.itemSize = CGSize(width: UIScreen.main.bounds.size.width - 80, height: self.pagerView.frame.size.height)
|
||||
// pagerView.itemSize = pagerView.frame.size
|
||||
pagerView.interitemSpacing = 0
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
extension WP_RankingVC:FSPagerViewDelegate,FSPagerViewDataSource{
|
||||
public func numberOfItems(in pagerView: FSPagerView) -> Int {
|
||||
return wallpapers.count
|
||||
}
|
||||
|
||||
public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
|
||||
let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "WP_RankingCell", at: index) as! WP_RankingCell
|
||||
|
||||
let model = self.wallpapers[index]
|
||||
if let imageURL = URL(string: model.thumbnail ?? "") {
|
||||
cell.wallpaperImageV.sd_setImage(with: imageURL, placeholderImage: UIImage(named: "Rectangle"))
|
||||
|
||||
}
|
||||
|
||||
|
||||
return cell
|
||||
}
|
||||
|
||||
func pagerView(_ pagerView: FSPagerView, didSelectItemAt index: Int) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,22 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WP_RankingVC" customModuleProvider="target">
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WP_RankingVC" customModule="WallpaperHD_Live" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="pagerView" destination="40V-Ys-a57" id="hyy-xO-58Y"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ranking" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="54V-al-OWg">
|
||||
<rect key="frame" x="20" y="58.999999999999993" width="91" height="27.666666666666664"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="23"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="40V-Ys-a57" customClass="FSPagerView" customModule="FSPagerView">
|
||||
<rect key="frame" x="0.0" y="96.666666666666686" width="393" height="721.33333333333326"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Swipe left and right to view more" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="14c-Ps-Ttk">
|
||||
<rect key="frame" x="210.33333333333337" y="74.666666666666671" width="162.66666666666663" height="12"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="14c-Ps-Ttk" secondAttribute="trailing" constant="20" id="7W8-1S-bLx"/>
|
||||
<constraint firstItem="54V-al-OWg" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="GvR-OB-fNq"/>
|
||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="40V-Ys-a57" secondAttribute="trailing" id="KbK-PJ-p3n"/>
|
||||
<constraint firstItem="54V-al-OWg" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="Sgr-U8-0Vk"/>
|
||||
<constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="40V-Ys-a57" secondAttribute="bottom" id="Tfl-ss-wce"/>
|
||||
<constraint firstItem="14c-Ps-Ttk" firstAttribute="bottom" secondItem="54V-al-OWg" secondAttribute="bottom" id="aNp-Te-BpS"/>
|
||||
<constraint firstItem="40V-Ys-a57" firstAttribute="top" secondItem="54V-al-OWg" secondAttribute="bottom" constant="10" id="gyA-rV-VMM"/>
|
||||
<constraint firstItem="40V-Ys-a57" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="m4V-tk-m6O"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="65" y="-11"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||
47
WallpaperHD_Live/Ranking/M/WP_4KModel.swift
Normal file
47
WallpaperHD_Live/Ranking/M/WP_4KModel.swift
Normal file
@ -0,0 +1,47 @@
|
||||
//
|
||||
// WP_4KModel.swift
|
||||
// wallpaper_project
|
||||
|
||||
|
||||
import UIKit
|
||||
@objcMembers
|
||||
|
||||
class WP_4KModel: NSObject,Decodable,Encodable {
|
||||
|
||||
var title:String?
|
||||
var thumbnail:String?
|
||||
var preview:String?
|
||||
var is_free:Int?
|
||||
var category:Int?
|
||||
var id:Int?
|
||||
var cnt_like:Int?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case title
|
||||
case thumbnail
|
||||
case preview
|
||||
case is_free
|
||||
case category
|
||||
case id
|
||||
case cnt_like
|
||||
}
|
||||
|
||||
// 实现 Decodable 协议中的初始化方法
|
||||
required override init() {
|
||||
super.init()
|
||||
}
|
||||
|
||||
// 实现 Encodable 协议中的编码方法
|
||||
func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(title, forKey: .title)
|
||||
try container.encode(thumbnail, forKey: .thumbnail)
|
||||
try container.encode(preview, forKey: .preview)
|
||||
try container.encode(is_free, forKey: .is_free)
|
||||
try container.encode(category, forKey: .category)
|
||||
try container.encode(id, forKey: .id)
|
||||
try container.encode(cnt_like, forKey: .cnt_like)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
21
WallpaperHD_Live/Ranking/V/WP_RankingCell.swift
Normal file
21
WallpaperHD_Live/Ranking/V/WP_RankingCell.swift
Normal file
@ -0,0 +1,21 @@
|
||||
//
|
||||
// WP_RankingCell.swift
|
||||
// WallpaperHD_Live
|
||||
//
|
||||
// Created by 忆海16 on 2024/7/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import FSPagerView
|
||||
|
||||
class WP_RankingCell: FSPagerViewCell {
|
||||
|
||||
@IBOutlet weak var wallpaperImageV: UIImageView!
|
||||
|
||||
override func awakeFromNib() {
|
||||
super.awakeFromNib()
|
||||
wallpaperImageV.layer.cornerRadius = 10
|
||||
wallpaperImageV.clipsToBounds = true
|
||||
}
|
||||
|
||||
}
|
||||
38
WallpaperHD_Live/Ranking/V/WP_RankingCell.xib
Normal file
38
WallpaperHD_Live/Ranking/V/WP_RankingCell.xib
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="WP_RankingCell" customModule="WallpaperHD_Live" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="He4-2y-Yej">
|
||||
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
|
||||
<constraints>
|
||||
<constraint firstItem="He4-2y-Yej" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="Kmb-zx-efD"/>
|
||||
<constraint firstItem="He4-2y-Yej" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="PXM-3n-Cr3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="He4-2y-Yej" secondAttribute="bottom" id="S8J-fR-dEA"/>
|
||||
<constraint firstAttribute="trailing" secondItem="He4-2y-Yej" secondAttribute="trailing" id="glo-D9-4a2"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="wallpaperImageV" destination="He4-2y-Yej" id="KEj-XZ-yGW"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="65" y="-11"/>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
1425
WallpaperHD_Live/Tool/4k.json
Normal file
1425
WallpaperHD_Live/Tool/4k.json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user