完成详情页基本布局

This commit is contained in:
admin
2019-12-11 11:13:22 +08:00
parent e8d790c684
commit e515efa3af
88 changed files with 2765 additions and 153 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -7,6 +7,34 @@
objects = {
/* Begin PBXBuildFile section */
803C185F2398E29900E49AE0 /* ASDetail_3CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803C185D2398E29900E49AE0 /* ASDetail_3CollectionViewCell.swift */; };
803C18602398E29900E49AE0 /* ASDetail_3CollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 803C185E2398E29900E49AE0 /* ASDetail_3CollectionViewCell.xib */; };
803C18712398FB3600E49AE0 /* ASDetail_6TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803C186F2398FB3600E49AE0 /* ASDetail_6TableViewCell.swift */; };
803C18722398FB3600E49AE0 /* ASDetail_6TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 803C18702398FB3600E49AE0 /* ASDetail_6TableViewCell.xib */; };
803C18752399E68F00E49AE0 /* ASDetail_7TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803C18732399E68F00E49AE0 /* ASDetail_7TableViewCell.swift */; };
803C18762399E68F00E49AE0 /* ASDetail_7TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 803C18742399E68F00E49AE0 /* ASDetail_7TableViewCell.xib */; };
803C187D2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803C187B2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.swift */; };
803C187E2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 803C187C2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.xib */; };
804614492398D2EE00A438F8 /* ASDetail5TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804614472398D2EE00A438F8 /* ASDetail5TableViewCell.swift */; };
8046144A2398D2EE00A438F8 /* ASDetail5TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 804614482398D2EE00A438F8 /* ASDetail5TableViewCell.xib */; };
8046144D2398D2FE00A438F8 /* ASDetail6TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8046144B2398D2FE00A438F8 /* ASDetail6TableViewCell.swift */; };
8046144E2398D2FE00A438F8 /* ASDetail6TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8046144C2398D2FE00A438F8 /* ASDetail6TableViewCell.xib */; };
804614512398D33000A438F8 /* ASDetail7TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8046144F2398D33000A438F8 /* ASDetail7TableViewCell.swift */; };
804614522398D33000A438F8 /* ASDetail7TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 804614502398D33000A438F8 /* ASDetail7TableViewCell.xib */; };
804614552398D33D00A438F8 /* ASDetail8TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804614532398D33D00A438F8 /* ASDetail8TableViewCell.swift */; };
804614562398D33D00A438F8 /* ASDetail8TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 804614542398D33D00A438F8 /* ASDetail8TableViewCell.xib */; };
8067A0152394E960000FFCF4 /* ASDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A0142394E960000FFCF4 /* ASDetailViewController.swift */; };
8067A021239670F5000FFCF4 /* ASDetailTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A01F239670F5000FFCF4 /* ASDetailTableViewCell.swift */; };
8067A0252396711A000FFCF4 /* ASDetail1TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A0232396711A000FFCF4 /* ASDetail1TableViewCell.swift */; };
8067A0262396711A000FFCF4 /* ASDetail1TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8067A0242396711A000FFCF4 /* ASDetail1TableViewCell.xib */; };
8067A02A2397486C000FFCF4 /* ASDetailTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8067A0292397486C000FFCF4 /* ASDetailTableViewCell.xib */; };
8067A02D23975AA9000FFCF4 /* ASDetail2TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A02B23975AA9000FFCF4 /* ASDetail2TableViewCell.swift */; };
8067A02E23975AA9000FFCF4 /* ASDetail2TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8067A02C23975AA9000FFCF4 /* ASDetail2TableViewCell.xib */; };
8067A030239762D9000FFCF4 /* ASDetail_2CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A02F239762D9000FFCF4 /* ASDetail_2CollectionViewCell.swift */; };
8067A03323978D49000FFCF4 /* ASDetail3TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A03123978D49000FFCF4 /* ASDetail3TableViewCell.swift */; };
8067A03423978D49000FFCF4 /* ASDetail3TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8067A03223978D49000FFCF4 /* ASDetail3TableViewCell.xib */; };
8067A0372397AC8D000FFCF4 /* ASDetail4TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8067A0352397AC8D000FFCF4 /* ASDetail4TableViewCell.swift */; };
8067A0382397AC8D000FFCF4 /* ASDetail4TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8067A0362397AC8D000FFCF4 /* ASDetail4TableViewCell.xib */; };
F80534EF21FC014B0064609D /* ASTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F80534EE21FC014B0064609D /* ASTabBarViewController.swift */; };
F80534F221FC01920064609D /* ASBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F80534F121FC01920064609D /* ASBaseViewController.swift */; };
F80534F421FC01B80064609D /* ASTodayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F80534F321FC01B80064609D /* ASTodayViewController.swift */; };
@@ -27,8 +55,6 @@
F805351921FC5E650064609D /* ASGame2TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F805351821FC5E650064609D /* ASGame2TableViewCell.swift */; };
F805351C21FC5E9E0064609D /* ASGame2CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F805351A21FC5E9E0064609D /* ASGame2CollectionViewCell.swift */; };
F805351D21FC5E9E0064609D /* ASGame2CollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F805351B21FC5E9E0064609D /* ASGame2CollectionViewCell.xib */; };
F81FF8A621FEA01000441CD7 /* ASHeadReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F81FF8A421FEA01000441CD7 /* ASHeadReusableView.swift */; };
F81FF8A721FEA01000441CD7 /* ASHeadReusableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F81FF8A521FEA01000441CD7 /* ASHeadReusableView.xib */; };
F81FF8AA21FEA76700441CD7 /* ASGame3TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F81FF8A821FEA76700441CD7 /* ASGame3TableViewCell.swift */; };
F81FF8AB21FEA76700441CD7 /* ASGame3TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F81FF8A921FEA76700441CD7 /* ASGame3TableViewCell.xib */; };
F81FF8AD21FEA7C000441CD7 /* ASGame4TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F81FF8AC21FEA7C000441CD7 /* ASGame4TableViewCell.swift */; };
@@ -53,6 +79,34 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
803C185D2398E29900E49AE0 /* ASDetail_3CollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail_3CollectionViewCell.swift; sourceTree = "<group>"; };
803C185E2398E29900E49AE0 /* ASDetail_3CollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail_3CollectionViewCell.xib; sourceTree = "<group>"; };
803C186F2398FB3600E49AE0 /* ASDetail_6TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail_6TableViewCell.swift; sourceTree = "<group>"; };
803C18702398FB3600E49AE0 /* ASDetail_6TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail_6TableViewCell.xib; sourceTree = "<group>"; };
803C18732399E68F00E49AE0 /* ASDetail_7TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail_7TableViewCell.swift; sourceTree = "<group>"; };
803C18742399E68F00E49AE0 /* ASDetail_7TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail_7TableViewCell.xib; sourceTree = "<group>"; };
803C187B2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail_8CollectionViewCell.swift; sourceTree = "<group>"; };
803C187C2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail_8CollectionViewCell.xib; sourceTree = "<group>"; };
804614472398D2EE00A438F8 /* ASDetail5TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail5TableViewCell.swift; sourceTree = "<group>"; };
804614482398D2EE00A438F8 /* ASDetail5TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail5TableViewCell.xib; sourceTree = "<group>"; };
8046144B2398D2FE00A438F8 /* ASDetail6TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail6TableViewCell.swift; sourceTree = "<group>"; };
8046144C2398D2FE00A438F8 /* ASDetail6TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail6TableViewCell.xib; sourceTree = "<group>"; };
8046144F2398D33000A438F8 /* ASDetail7TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail7TableViewCell.swift; sourceTree = "<group>"; };
804614502398D33000A438F8 /* ASDetail7TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail7TableViewCell.xib; sourceTree = "<group>"; };
804614532398D33D00A438F8 /* ASDetail8TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail8TableViewCell.swift; sourceTree = "<group>"; };
804614542398D33D00A438F8 /* ASDetail8TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail8TableViewCell.xib; sourceTree = "<group>"; };
8067A0142394E960000FFCF4 /* ASDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetailViewController.swift; sourceTree = "<group>"; };
8067A01F239670F5000FFCF4 /* ASDetailTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetailTableViewCell.swift; sourceTree = "<group>"; };
8067A0232396711A000FFCF4 /* ASDetail1TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail1TableViewCell.swift; sourceTree = "<group>"; };
8067A0242396711A000FFCF4 /* ASDetail1TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail1TableViewCell.xib; sourceTree = "<group>"; };
8067A0292397486C000FFCF4 /* ASDetailTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ASDetailTableViewCell.xib; sourceTree = "<group>"; };
8067A02B23975AA9000FFCF4 /* ASDetail2TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail2TableViewCell.swift; sourceTree = "<group>"; };
8067A02C23975AA9000FFCF4 /* ASDetail2TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail2TableViewCell.xib; sourceTree = "<group>"; };
8067A02F239762D9000FFCF4 /* ASDetail_2CollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail_2CollectionViewCell.swift; sourceTree = "<group>"; };
8067A03123978D49000FFCF4 /* ASDetail3TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail3TableViewCell.swift; sourceTree = "<group>"; };
8067A03223978D49000FFCF4 /* ASDetail3TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail3TableViewCell.xib; sourceTree = "<group>"; };
8067A0352397AC8D000FFCF4 /* ASDetail4TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASDetail4TableViewCell.swift; sourceTree = "<group>"; };
8067A0362397AC8D000FFCF4 /* ASDetail4TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASDetail4TableViewCell.xib; sourceTree = "<group>"; };
F80534EE21FC014B0064609D /* ASTabBarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASTabBarViewController.swift; sourceTree = "<group>"; };
F80534F121FC01920064609D /* ASBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASBaseViewController.swift; sourceTree = "<group>"; };
F80534F321FC01B80064609D /* ASTodayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASTodayViewController.swift; sourceTree = "<group>"; };
@@ -73,8 +127,6 @@
F805351821FC5E650064609D /* ASGame2TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASGame2TableViewCell.swift; sourceTree = "<group>"; };
F805351A21FC5E9E0064609D /* ASGame2CollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASGame2CollectionViewCell.swift; sourceTree = "<group>"; };
F805351B21FC5E9E0064609D /* ASGame2CollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASGame2CollectionViewCell.xib; sourceTree = "<group>"; };
F81FF8A421FEA01000441CD7 /* ASHeadReusableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASHeadReusableView.swift; sourceTree = "<group>"; };
F81FF8A521FEA01000441CD7 /* ASHeadReusableView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASHeadReusableView.xib; sourceTree = "<group>"; };
F81FF8A821FEA76700441CD7 /* ASGame3TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASGame3TableViewCell.swift; sourceTree = "<group>"; };
F81FF8A921FEA76700441CD7 /* ASGame3TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASGame3TableViewCell.xib; sourceTree = "<group>"; };
F81FF8AC21FEA7C000441CD7 /* ASGame4TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASGame4TableViewCell.swift; sourceTree = "<group>"; };
@@ -87,7 +139,7 @@
F81FF8BA21FEDB3600441CD7 /* ASUpdate1TableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ASUpdate1TableViewCell.xib; sourceTree = "<group>"; };
F81FF8BD21FEDCD600441CD7 /* ASLargeSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASLargeSearchView.swift; sourceTree = "<group>"; };
F81FF8C321FEEF7100441CD7 /* ASNavSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ASNavSearchView.swift; sourceTree = "<group>"; };
F864AA6421EF327D00C08B8F /* appstore.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = appstore.app; sourceTree = BUILT_PRODUCTS_DIR; };
F864AA6421EF327D00C08B8F /* AS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AS.app; sourceTree = BUILT_PRODUCTS_DIR; };
F864AA6721EF327D00C08B8F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
F864AA6921EF327D00C08B8F /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
F864AA6C21EF327D00C08B8F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
@@ -111,6 +163,48 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
803C186E2398FAEB00E49AE0 /* subcell */ = {
isa = PBXGroup;
children = (
8067A02F239762D9000FFCF4 /* ASDetail_2CollectionViewCell.swift */,
803C185D2398E29900E49AE0 /* ASDetail_3CollectionViewCell.swift */,
803C185E2398E29900E49AE0 /* ASDetail_3CollectionViewCell.xib */,
803C186F2398FB3600E49AE0 /* ASDetail_6TableViewCell.swift */,
803C18702398FB3600E49AE0 /* ASDetail_6TableViewCell.xib */,
803C18732399E68F00E49AE0 /* ASDetail_7TableViewCell.swift */,
803C18742399E68F00E49AE0 /* ASDetail_7TableViewCell.xib */,
803C187B2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.swift */,
803C187C2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.xib */,
);
path = subcell;
sourceTree = "<group>";
};
8067A01E2396709F000FFCF4 /* detailcell */ = {
isa = PBXGroup;
children = (
8067A01F239670F5000FFCF4 /* ASDetailTableViewCell.swift */,
8067A0292397486C000FFCF4 /* ASDetailTableViewCell.xib */,
8067A0232396711A000FFCF4 /* ASDetail1TableViewCell.swift */,
8067A0242396711A000FFCF4 /* ASDetail1TableViewCell.xib */,
8067A02B23975AA9000FFCF4 /* ASDetail2TableViewCell.swift */,
8067A02C23975AA9000FFCF4 /* ASDetail2TableViewCell.xib */,
8067A03123978D49000FFCF4 /* ASDetail3TableViewCell.swift */,
8067A03223978D49000FFCF4 /* ASDetail3TableViewCell.xib */,
8067A0352397AC8D000FFCF4 /* ASDetail4TableViewCell.swift */,
8067A0362397AC8D000FFCF4 /* ASDetail4TableViewCell.xib */,
804614472398D2EE00A438F8 /* ASDetail5TableViewCell.swift */,
804614482398D2EE00A438F8 /* ASDetail5TableViewCell.xib */,
8046144B2398D2FE00A438F8 /* ASDetail6TableViewCell.swift */,
8046144C2398D2FE00A438F8 /* ASDetail6TableViewCell.xib */,
8046144F2398D33000A438F8 /* ASDetail7TableViewCell.swift */,
804614502398D33000A438F8 /* ASDetail7TableViewCell.xib */,
804614532398D33D00A438F8 /* ASDetail8TableViewCell.swift */,
804614542398D33D00A438F8 /* ASDetail8TableViewCell.xib */,
803C186E2398FAEB00E49AE0 /* subcell */,
);
path = detailcell;
sourceTree = "<group>";
};
F80534F021FC016C0064609D /* VC */ = {
isa = PBXGroup;
children = (
@@ -119,6 +213,7 @@
F80534F721FC01CA0064609D /* ASAppViewController.swift */,
F80534F921FC01DC0064609D /* ASUpdateViewController.swift */,
F80534FB21FC01E70064609D /* ASSearchViewController.swift */,
8067A0142394E960000FFCF4 /* ASDetailViewController.swift */,
);
path = VC;
sourceTree = "<group>";
@@ -138,6 +233,7 @@
children = (
F81FF8C52200370100441CD7 /* TitleView */,
F81FF8B421FED6E200441CD7 /* updatecell */,
8067A01E2396709F000FFCF4 /* detailcell */,
F805350921FC4C760064609D /* gamecell */,
F805350821FC4B740064609D /* todaycell */,
);
@@ -160,8 +256,6 @@
F864AA7A21EF333200C08B8F /* oneTableViewCell.xib */,
F864AA7D21EF334000C08B8F /* twoTableViewCell.swift */,
F864AA7E21EF334000C08B8F /* twoTableViewCell.xib */,
F81FF8A421FEA01000441CD7 /* ASHeadReusableView.swift */,
F81FF8A521FEA01000441CD7 /* ASHeadReusableView.xib */,
);
path = todaycell;
sourceTree = "<group>";
@@ -220,7 +314,7 @@
F864AA6521EF327D00C08B8F /* Products */ = {
isa = PBXGroup;
children = (
F864AA6421EF327D00C08B8F /* appstore.app */,
F864AA6421EF327D00C08B8F /* AS.app */,
);
name = Products;
sourceTree = "<group>";
@@ -259,7 +353,7 @@
);
name = appstore;
productName = appstore;
productReference = F864AA6421EF327D00C08B8F /* appstore.app */;
productReference = F864AA6421EF327D00C08B8F /* AS.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -302,18 +396,30 @@
buildActionMask = 2147483647;
files = (
F805350F21FC51410064609D /* ASGameCollectionViewCell.xib in Resources */,
803C18602398E29900E49AE0 /* ASDetail_3CollectionViewCell.xib in Resources */,
F864AA7221EF327F00C08B8F /* LaunchScreen.storyboard in Resources */,
F81FF8B821FED74300441CD7 /* ASUpdateTableViewCell.xib in Resources */,
F805351321FC56F20064609D /* ASGame1CollectionViewCell.xib in Resources */,
803C187E2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.xib in Resources */,
804614562398D33D00A438F8 /* ASDetail8TableViewCell.xib in Resources */,
8067A02A2397486C000FFCF4 /* ASDetailTableViewCell.xib in Resources */,
F81FF8B321FEAE1A00441CD7 /* ASGame5TableViewCell.xib in Resources */,
803C18762399E68F00E49AE0 /* ASDetail_7TableViewCell.xib in Resources */,
8067A0262396711A000FFCF4 /* ASDetail1TableViewCell.xib in Resources */,
803C18722398FB3600E49AE0 /* ASDetail_6TableViewCell.xib in Resources */,
F864AA6F21EF327F00C08B8F /* Assets.xcassets in Resources */,
F864AA7C21EF333200C08B8F /* oneTableViewCell.xib in Resources */,
8067A0382397AC8D000FFCF4 /* ASDetail4TableViewCell.xib in Resources */,
8046144E2398D2FE00A438F8 /* ASDetail6TableViewCell.xib in Resources */,
8046144A2398D2EE00A438F8 /* ASDetail5TableViewCell.xib in Resources */,
F81FF8AB21FEA76700441CD7 /* ASGame3TableViewCell.xib in Resources */,
F805351D21FC5E9E0064609D /* ASGame2CollectionViewCell.xib in Resources */,
804614522398D33000A438F8 /* ASDetail7TableViewCell.xib in Resources */,
F81FF8B121FEAE1000441CD7 /* ASGame4TableViewCell.xib in Resources */,
F81FF8BC21FEDB3600441CD7 /* ASUpdate1TableViewCell.xib in Resources */,
F81FF8A721FEA01000441CD7 /* ASHeadReusableView.xib in Resources */,
8067A02E23975AA9000FFCF4 /* ASDetail2TableViewCell.xib in Resources */,
F864AA6D21EF327D00C08B8F /* Main.storyboard in Resources */,
8067A03423978D49000FFCF4 /* ASDetail3TableViewCell.xib in Resources */,
F864AA8021EF334000C08B8F /* twoTableViewCell.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -325,35 +431,49 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8067A021239670F5000FFCF4 /* ASDetailTableViewCell.swift in Sources */,
F805350721FC31F80064609D /* AppUtils.swift in Sources */,
F864AA7B21EF333200C08B8F /* oneTableViewCell.swift in Sources */,
F80534F221FC01920064609D /* ASBaseViewController.swift in Sources */,
F805351721FC5E150064609D /* ASGame1TableViewCell.swift in Sources */,
F81FF8B721FED74300441CD7 /* ASUpdateTableViewCell.swift in Sources */,
F805351921FC5E650064609D /* ASGame2TableViewCell.swift in Sources */,
8067A030239762D9000FFCF4 /* ASDetail_2CollectionViewCell.swift in Sources */,
F80534F821FC01CA0064609D /* ASAppViewController.swift in Sources */,
8067A02D23975AA9000FFCF4 /* ASDetail2TableViewCell.swift in Sources */,
F81FF8AF21FEA7DA00441CD7 /* ASGame5TableViewCell.swift in Sources */,
F80534F621FC01C00064609D /* ASGameViewController.swift in Sources */,
F81FF8A621FEA01000441CD7 /* ASHeadReusableView.swift in Sources */,
804614492398D2EE00A438F8 /* ASDetail5TableViewCell.swift in Sources */,
803C187D2399F19D00E49AE0 /* ASDetail_8CollectionViewCell.swift in Sources */,
F81FF8BB21FEDB3600441CD7 /* ASUpdate1TableViewCell.swift in Sources */,
F805350B21FC4CCC0064609D /* ASGameTableViewCell.swift in Sources */,
8067A03323978D49000FFCF4 /* ASDetail3TableViewCell.swift in Sources */,
F80534FF21FC030A0064609D /* ASBaseNavController.swift in Sources */,
F80534FC21FC01E70064609D /* ASSearchViewController.swift in Sources */,
F81FF8AA21FEA76700441CD7 /* ASGame3TableViewCell.swift in Sources */,
F81FF8C421FEEF7100441CD7 /* ASNavSearchView.swift in Sources */,
F864AA6A21EF327D00C08B8F /* ViewController.swift in Sources */,
803C185F2398E29900E49AE0 /* ASDetail_3CollectionViewCell.swift in Sources */,
803C18712398FB3600E49AE0 /* ASDetail_6TableViewCell.swift in Sources */,
F80534EF21FC014B0064609D /* ASTabBarViewController.swift in Sources */,
F805351221FC56F20064609D /* ASGame1CollectionViewCell.swift in Sources */,
F81FF8BE21FEDCD600441CD7 /* ASLargeSearchView.swift in Sources */,
F805351C21FC5E9E0064609D /* ASGame2CollectionViewCell.swift in Sources */,
8046144D2398D2FE00A438F8 /* ASDetail6TableViewCell.swift in Sources */,
8067A0252396711A000FFCF4 /* ASDetail1TableViewCell.swift in Sources */,
F805350E21FC51410064609D /* ASGameCollectionViewCell.swift in Sources */,
F864AA7F21EF334000C08B8F /* twoTableViewCell.swift in Sources */,
F81FF8AD21FEA7C000441CD7 /* ASGame4TableViewCell.swift in Sources */,
804614512398D33000A438F8 /* ASDetail7TableViewCell.swift in Sources */,
F805350221FC0B1F0064609D /* ASLargeTitleView.swift in Sources */,
F80534FA21FC01DC0064609D /* ASUpdateViewController.swift in Sources */,
8067A0372397AC8D000FFCF4 /* ASDetail4TableViewCell.swift in Sources */,
F864AA6821EF327D00C08B8F /* AppDelegate.swift in Sources */,
804614552398D33D00A438F8 /* ASDetail8TableViewCell.swift in Sources */,
803C18752399E68F00E49AE0 /* ASDetail_7TableViewCell.swift in Sources */,
F80534F421FC01B80064609D /* ASTodayViewController.swift in Sources */,
F805350521FC0DE10064609D /* Const.swift in Sources */,
8067A0152394E960000FFCF4 /* ASDetailViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -498,7 +618,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 9RK2CXA26G;
DEVELOPMENT_TEAM = 48ZN3A9VG7;
INFOPLIST_FILE = appstore/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -506,9 +626,9 @@
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.ssss.dddd;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = AS;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
};
@@ -517,7 +637,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 9RK2CXA26G;
DEVELOPMENT_TEAM = 48ZN3A9VG7;
INFOPLIST_FILE = appstore/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -525,9 +645,9 @@
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.ssss.dddd;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = AS;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
};

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
uuid = "5EA1953D-86D2-4425-8DC0-6148326A2053"
type = "1"
version = "2.0">
</Bucket>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>appstore.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>

View File

@@ -3,7 +3,7 @@
// appstore
//
// Created by guazhac on 2019/1/16.
// Copyright © 2019 st. All rights reserved.
// Copyright © 2019 CB_MD. All rights reserved.
//
import UIKit
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
sleep(2)
window?.rootViewController = ASTabBarViewController()
return true

BIN
appstore/Assets.xcassets/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "Safari.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Safari (1).png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 B

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "WechatIMG3.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "下箭头 (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "下箭头.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "WechatIMG2.jpeg",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "手 (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "手.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "WechatIMG2.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "lefterbackicon_titlebar_24x24_@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "lefterbackicon_titlebar_24x24_@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

View File

@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" systemVersion="17A277" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -11,9 +13,36 @@
<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"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sun.max" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="QzU-R6-HBg">
<rect key="frame" x="0.0" y="43.5" width="414" height="818.5"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="孟德出品" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="usa-la-fM6">
<rect key="frame" x="166" y="778" width="82" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Copyright ©️ 2018 - 2099 CB_MD" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1zQ-zP-4Te">
<rect key="frame" x="81.5" y="822" width="251" height="20"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="QzU-R6-HBg" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="Gh3-ZO-fhy"/>
<constraint firstItem="1zQ-zP-4Te" firstAttribute="top" secondItem="usa-la-fM6" secondAttribute="bottom" constant="20" id="UWs-7F-r6n"/>
<constraint firstItem="QzU-R6-HBg" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="ZOI-Aw-uKt"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="usa-la-fM6" secondAttribute="bottom" constant="60" id="Zp3-pr-2NX"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="QzU-R6-HBg" secondAttribute="trailing" id="bfY-58-7uj"/>
<constraint firstItem="usa-la-fM6" firstAttribute="centerX" secondItem="QzU-R6-HBg" secondAttribute="centerX" id="d2z-KS-AFL"/>
<constraint firstItem="1zQ-zP-4Te" firstAttribute="centerX" secondItem="usa-la-fM6" secondAttribute="centerX" id="l6P-ZZ-IB2"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="QzU-R6-HBg" secondAttribute="bottom" id="sxM-j6-mSf"/>
</constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
@@ -22,4 +51,7 @@
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="sun.max" catalog="system" width="64" height="62"/>
</resources>
</document>

View File

@@ -13,5 +13,15 @@ class ASBaseNavController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
if childViewControllers.count > 0{
// viewController.hidesBottomBarWhenPushed = true;
}
super.pushViewController(viewController, animated: animated)
}
}

View File

@@ -10,29 +10,40 @@ import UIKit
class ASBaseViewController: UIViewController {
/// View
lazy var largeTitleView: ASLargeTitleView = {
let largeTitleView = ASLargeTitleView(frame: CGRect(x: 0, y: 0, width: Int(screenWidth), height: NAVIGATION_BAR_HEIGHT))
let largeTitleView = ASLargeTitleView(frame: CGRect(x: 0, y: 0, width: Int(SCREENWIDTH), height: NAVIGATION_BAR_HEIGHT))
return largeTitleView
}()
///
lazy var largeSearchView: ASLargeSearchView = {
let largeSearchView = ASLargeSearchView(frame: CGRect(x: 0, y: 0, width: Int(screenWidth), height: 100))
let largeSearchView = ASLargeSearchView(frame: CGRect(x: 0, y: 0, width: Int(SCREENWIDTH), height: 100))
return largeSearchView
}()
//
lazy var tableV: UITableView = {
let tableV = UITableView(frame: CGRect(x: 0, y: CGFloat(NAVIGATION_BAR_HEIGHT), width: screenWidth, height: screenHeight - CGFloat(NAVIGATION_BAR_HEIGHT)), style: .plain)
let tableV = UITableView(frame: CGRect(x: 0, y: CGFloat(NAVIGATION_BAR_HEIGHT), width: SCREENWIDTH, height: SCREENHEIGHT - CGFloat(NAVIGATION_BAR_HEIGHT) - TAB_BAR_HEIGHT), style: .plain)
tableV.tableFooterView = UIView()
if #available(iOS 11.0, *) {
tableV.contentInsetAdjustmentBehavior = .never
}
return tableV
}()
//
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
@@ -44,16 +55,20 @@ class ASBaseViewController: UIViewController {
super.viewDidLoad()
view.backgroundColor = .white
}
}
extension ASBaseViewController: UIScrollViewDelegate {
///
/// - Parameter scrollView: <#scrollView description#>
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.isEqual(self.tableV) {
// print("DidScroll:=======\(scrollView.contentOffset.y)")
let offsetY = scrollView.contentOffset.y

View File

@@ -27,6 +27,11 @@ class ASTabBarViewController: UITabBarController {
}
///
/// - Parameter VC: <#VC description#>
/// - Parameter title: <#title description#>
/// - Parameter imageName: <#imageName description#>
private func creatNavController(VC: UIViewController, title: String, imageName: String) {
VC.title = title

View File

@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>App Store</string>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@@ -43,5 +43,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIUserInterfaceStyle</key>
<string>Light</string>
</dict>
</plist>

View File

@@ -9,25 +9,22 @@
import UIKit
let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
let commonColor = UIColor(red: 242.0 / 255.0, green: 242.0 / 255.0, blue: 242.0 / 255.0, alpha: 1)
let lineColor = UIColor(red: 218.0 / 255.0, green: 218.0 / 255.0, blue: 218.0 / 255.0, alpha: 1)
let blueColor = UIColor(red: 3.0 / 255.0, green: 115.0 / 255.0, blue: 255.0 / 255.0, alpha: 1)
let randomColor = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
//let isIPhoneX = UIScreen.main.bounds.size.equalTo(CGSize (width: 375, height: 812))
//let navigationBarHeight:CGFloat = isIPhoneX ? 88 : 64
//let bottomToolBarHeight:CGFloat = isIPhoneX ? 80 : 49
let SCREENWIDTH = UIScreen.main.bounds.width
let SCREENHEIGHT = UIScreen.main.bounds.height
let COMMONCOLOR = UIColor(red: 242.0 / 255.0, green: 242.0 / 255.0, blue: 242.0 / 255.0, alpha: 1)
let LINECOLOR = UIColor(red: 218.0 / 255.0, green: 218.0 / 255.0, blue: 218.0 / 255.0, alpha: 1)
let BLUECOLOR = UIColor(red: 3.0 / 255.0, green: 115.0 / 255.0, blue: 255.0 / 255.0, alpha: 1)
let RANDOMCOLOR = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
//Iphone_X XR XS XSMax
let Is_Iphone = (UI_USER_INTERFACE_IDIOM() == .phone)
let Is_Iphone_X_XS_XR_XSMAX = (Is_Iphone && screenHeight >= 812)
//
let Is_Iphone_X_XS_XR_XSMAX = (Is_Iphone && SCREENHEIGHT >= 812)
//
let STATUS_BAR_HEIGHT = Is_Iphone_X_XS_XR_XSMAX ? 44 : 20
//
let NAVIGATION_BAR_HEIGHT = Is_Iphone_X_XS_XR_XSMAX ? 88 : 64
// tabBar
let TAB_BAR_HEIGHT = Is_Iphone_X_XS_XR_XSMAX ? 49 + 34 : 49
let TAB_BAR_HEIGHT : CGFloat = Is_Iphone_X_XS_XR_XSMAX ? 49 + 34 : 49
// home indicator
let HOME_INDICATOR_HEIGHT = Is_Iphone_X_XS_XR_XSMAX ? 34 : 0

View File

@@ -31,7 +31,6 @@ class ASAppViewController: ASBaseViewController {
*
*tabbar "Game"
*
* qq:1589353390
*
*/
self.tableV.register(ASGameTableViewCell.self, forCellReuseIdentifier: "ASGameTableViewCell")
@@ -54,31 +53,40 @@ extension ASAppViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGameTableViewCell") as? ASGameTableViewCell
cell?.delegate = self
return cell!
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame1TableViewCell") as? ASGame1TableViewCell
return cell!
} else if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame2TableViewCell") as? ASGame2TableViewCell
return cell!
}
else if indexPath.row == 3 {
} else if indexPath.row == 3 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame3TableViewCell") as? ASGame3TableViewCell
return cell!
}else if indexPath.row == 4 {
} else if indexPath.row == 4 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame4TableViewCell") as? ASGame4TableViewCell
cell!.selectionStyle = .none
return cell!
}else if indexPath.row == 9 {
} else if indexPath.row == 9 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame5TableViewCell") as? ASGame5TableViewCell
cell!.selectionStyle = .none
return cell!
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASGame1TableViewCell") as? ASGame1TableViewCell
return cell!
@@ -99,3 +107,12 @@ extension ASAppViewController: UITableViewDelegate, UITableViewDataSource {
}
}
extension ASAppViewController: ASGameCollectionViewCellDelegate {
func didClickASGameCollectionViewCellItem() {
navigationController?.pushViewController(ASDetailViewController(), animated: true)
}
}

View File

@@ -0,0 +1,187 @@
//
// ASDetailViewController.swift
// appstore
//
// Created by guazhac on 2019/12/2.
// Copyright © 2019 CB_MD. All rights reserved.
//
import UIKit
class ASDetailViewController: UIViewController {
let headImageHeight :CGFloat = 200.0
var headImageView: UIImageView!
var headView: UIView!
lazy var detailTableV: UITableView = {
let detailTableV = UITableView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: SCREENHEIGHT), style: .plain)
return detailTableV
}()
override func viewDidLoad() {
super.viewDidLoad()
//
setupMainTabelView();
//
setupNav()
}
func setupNav() {
let navBackBtn = UIButton(type: .custom);
navBackBtn.frame = CGRect(x: 20, y: STATUS_BAR_HEIGHT + 10, width: 30, height: 30)
navBackBtn.setImage(UIImage(named: "nav_back"), for: .normal)
navBackBtn.addTarget(self, action: #selector(navBackAction), for: .touchUpInside)
view.addSubview(navBackBtn)
let navImage = UIImageView(frame: CGRect(x: self.view.center.x - 17.5, y: (CGFloat)(STATUS_BAR_HEIGHT + 10), width: 35, height: 35))
navImage.backgroundColor = .lightGray
AppUtils.sharedAppUtils._clipsViewCorner(navImage, radius: 10)
let navView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 64))
navView.backgroundColor = .red
navigationItem.titleView = navImage
let rightBtn = UIButton(type: .custom)
rightBtn.setTitle("打开", for: .normal)
rightBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
rightBtn.backgroundColor = .systemBlue
rightBtn.frame = CGRect(x: 0, y: 0, width: 80, height: 30)
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: rightBtn)
AppUtils.sharedAppUtils._clipsViewCorner(rightBtn, radius: 10)
}
func setupMainTabelView (){
self.detailTableV.frame = CGRect(x: 0, y: 0, width: SCREENWIDTH, height: SCREENHEIGHT)
self.detailTableV.delegate = self
self.detailTableV.dataSource = self
self.detailTableV.backgroundColor = COMMONCOLOR
view.addSubview(self.detailTableV)
// 9
self.detailTableV.register(UINib.init(nibName: "ASDetailTableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetailTableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail1TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail1TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail2TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail2TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail3TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail3TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail4TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail4TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail5TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail5TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail6TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail6TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail7TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail7TableViewCell")
self.detailTableV.register(UINib.init(nibName: "ASDetail8TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail8TableViewCell")
//cell
self.detailTableV.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
//
let headView = UIView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: headImageHeight))
headImageView = UIImageView(frame: headView.bounds)
headImageView.image = UIImage(named: "md")
headImageView.contentMode = .scaleAspectFill
headImageView.layer.masksToBounds = true
headView.addSubview(headImageView)
self.detailTableV.tableHeaderView = headView
}
@objc func navBackAction() {
navigationController?.popViewController(animated: true)
}
}
extension ASDetailViewController: UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 9
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetailTableViewCell") as? ASDetailTableViewCell
return cell!
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail1TableViewCell") as? ASDetail1TableViewCell
return cell!
} else if indexPath.row == 2{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail2TableViewCell") as? ASDetail2TableViewCell
return cell!
} else if indexPath.row == 3{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail3TableViewCell") as? ASDetail3TableViewCell
return cell!
} else if indexPath.row == 4{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail4TableViewCell") as? ASDetail4TableViewCell
return cell!
} else if indexPath.row == 5{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail5TableViewCell") as? ASDetail5TableViewCell
return cell!
} else if indexPath.row == 6{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail6TableViewCell") as? ASDetail6TableViewCell
return cell!
} else if indexPath.row == 7{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail7TableViewCell") as? ASDetail7TableViewCell
return cell!
} else if indexPath.row == 8{
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail8TableViewCell") as? ASDetail8TableViewCell
return cell!
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell")
return cell!
}
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 2 {
return 500
} else if indexPath.row == 3 {
return 150
} else if indexPath.row == 4 {
return 160
} else if indexPath.row == 5 {
return 320
} else if indexPath.row == 6 {
return 11*44+50+26
} else if indexPath.row == 7 {
return 300
} else if indexPath.row == 8 {
return 250
}
return 200
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offsetY = scrollView.contentOffset.y
// print("scrollViewDidScroll======="+"\(offsetY)")
if offsetY < 0 {
let allOffset = abs(offsetY) * 1.0 + headImageHeight
let ratio = allOffset / headImageHeight
headImageView.frame = CGRect(x: -1 * (SCREENWIDTH * ratio - SCREENWIDTH) / 2, y: offsetY, width: SCREENWIDTH * ratio, height: allOffset)
navigationController?.navigationBar.isHidden = true
} else {
if offsetY > 100 {
navigationController?.navigationBar.isHidden = false
} else {
navigationController?.navigationBar.isHidden = true
}
}
}
}

View File

@@ -53,17 +53,17 @@ extension ASGameViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = ASGameTableViewCell(style: .default, reuseIdentifier: "ASGameTableViewCell")
cell.delegate = self
return cell
} else if indexPath.row == 1 {
var cell = tableView.dequeueReusableCell(withIdentifier: indexPath.row.description)
print(indexPath.row.description)
if cell == nil {
cell = ASGame1TableViewCell(style: .default, reuseIdentifier: indexPath.row.description)
print(cell!)
}
return cell!
@@ -71,20 +71,27 @@ extension ASGameViewController: UITableViewDelegate, UITableViewDataSource {
let cell = ASGame2TableViewCell(style: .default, reuseIdentifier: "ASGame2TableViewCell")
return cell
}
else if indexPath.row == 3 {
} else if indexPath.row == 3 {
let cell = Bundle.main.loadNibNamed("ASGame3TableViewCell", owner: nil, options: nil)?.first as! ASGame3TableViewCell
return cell
} else if indexPath.row == 4 {
let cell = Bundle.main.loadNibNamed("ASGame4TableViewCell", owner: nil, options: nil)?.first as! ASGame4TableViewCell
cell.selectionStyle = .none
return cell
}else if indexPath.row == 9 {
} else if indexPath.row == 9 {
let cell = Bundle.main.loadNibNamed("ASGame5TableViewCell", owner: nil, options: nil)?.first as! ASGame5TableViewCell
cell.selectionStyle = .none
return cell
} else {
var cell = tableView.dequeueReusableCell(withIdentifier: indexPath.row.description)
if cell == nil {
cell = ASGame1TableViewCell(style: .default, reuseIdentifier: indexPath.row.description)
@@ -107,3 +114,13 @@ extension ASGameViewController: UITableViewDelegate, UITableViewDataSource {
}
}
extension ASGameViewController: ASGameCollectionViewCellDelegate {
func didClickASGameCollectionViewCellItem() {
navigationController?.pushViewController(ASDetailViewController(), animated: true)
}
}

View File

@@ -14,7 +14,7 @@ class ASSearchViewController: ASBaseViewController, searchTfDelegate, cancelBtnD
private lazy var searchNav: ASNavSearchView = {
let searchNav = ASNavSearchView(frame: CGRect(x: 0, y: NAVIGATION_BAR_HEIGHT, width: Int(screenWidth), height: NAVIGATION_BAR_HEIGHT))
let searchNav = ASNavSearchView(frame: CGRect(x: 0, y: NAVIGATION_BAR_HEIGHT, width: Int(SCREENWIDTH), height: NAVIGATION_BAR_HEIGHT))
print(NAVIGATION_BAR_HEIGHT)
searchNav.isHidden = true
return searchNav
@@ -23,7 +23,7 @@ class ASSearchViewController: ASBaseViewController, searchTfDelegate, cancelBtnD
private lazy var maskV: UIView = {
let maskV = UIView(frame: CGRect(x: 0, y: NAVIGATION_BAR_HEIGHT, width: Int(screenWidth), height: Int(screenHeight - CGFloat(NAVIGATION_BAR_HEIGHT))))
let maskV = UIView(frame: CGRect(x: 0, y: NAVIGATION_BAR_HEIGHT, width: Int(SCREENWIDTH), height: Int(SCREENHEIGHT - CGFloat(NAVIGATION_BAR_HEIGHT))))
maskV.backgroundColor = UIColor(red: 56.0 / 255.0, green: 56.0 / 255.0, blue: 56.0 / 255.0, alpha: 0.6)
maskV.isHidden = true
return maskV
@@ -68,7 +68,7 @@ class ASSearchViewController: ASBaseViewController, searchTfDelegate, cancelBtnD
self.tableV.estimatedRowHeight = 50
self.tableV.rowHeight = UITableViewAutomaticDimension
view.addSubview(self.tableV)
self.tableV.frame = CGRect(x: 20, y: CGFloat(NAVIGATION_BAR_HEIGHT), width: screenWidth - 40, height: screenHeight - CGFloat(NAVIGATION_BAR_HEIGHT))
self.tableV.frame = CGRect(x: 20, y: CGFloat(NAVIGATION_BAR_HEIGHT), width: SCREENWIDTH - 40, height: SCREENHEIGHT - CGFloat(NAVIGATION_BAR_HEIGHT))
}
}
@@ -80,6 +80,8 @@ extension ASSearchViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
var cell = tableView.dequeueReusableCell(withIdentifier: "cell")
if cell == nil {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
@@ -94,11 +96,16 @@ extension ASSearchViewController: UITableViewDelegate, UITableViewDataSource {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell1")
}
cell?.textLabel?.text = ["二十三,糖瓜粘", "二十四,扫房子", "二十五,磨豆腐", "二十六,炖羊肉", "二十七,宰公鸡", "二十八,把面发", "二十九,蒸馒头", "三十晚上闹一宿", "大年初一扭一扭"][indexPath.row - 1]
cell?.textLabel?.textColor = blueColor
cell?.textLabel?.textColor = BLUECOLOR
return cell!
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
navigationController?.pushViewController(ASDetailViewController(), animated: true)
}
}

View File

@@ -12,16 +12,18 @@ import UIKit
///
class ASTodayViewController: UIViewController {
///
private lazy var largeTitleView: ASLargeTitleView = {
let largeTitleView = ASLargeTitleView(frame: CGRect(x: 0, y: 0, width: Int(screenWidth), height: NAVIGATION_BAR_HEIGHT))
let largeTitleView = ASLargeTitleView(frame: CGRect(x: 0, y: 0, width: Int(SCREENWIDTH), height: NAVIGATION_BAR_HEIGHT))
return largeTitleView
}()
private lazy var tableV: UITableView = {
let tableV = UITableView(frame: CGRect(x: 0, y: CGFloat(STATUS_BAR_HEIGHT), width: screenWidth, height: screenHeight - CGFloat(NAVIGATION_BAR_HEIGHT)), style: .plain)
let tableV = UITableView(frame: CGRect(x: 0, y: CGFloat(STATUS_BAR_HEIGHT), width: SCREENWIDTH, height: SCREENHEIGHT - CGFloat(NAVIGATION_BAR_HEIGHT)), style: .plain)
tableV.tableFooterView = UIView()
return tableV
@@ -35,7 +37,7 @@ class ASTodayViewController: UIViewController {
}
func setUI() {
//仿
showActivityIndicator()
self.tableV.delegate = self
@@ -49,6 +51,8 @@ class ASTodayViewController: UIViewController {
}
/// a
func showActivityIndicator() {
let ai = UIActivityIndicatorView(activityIndicatorStyle: .gray)
@@ -56,7 +60,8 @@ class ASTodayViewController: UIViewController {
view.addSubview(ai)
ai.startAnimating()
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {
//
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
ai.stopAnimating()
ai.hidesWhenStopped = true
self.view.addSubview(self.tableV)
@@ -79,6 +84,7 @@ extension ASTodayViewController: UITableViewDelegate, UITableViewDataSource {
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//
if indexPath.row == 1 {
var cell = tableView.dequeueReusableCell(withIdentifier: "two") as? twoTableViewCell
if cell == nil {
@@ -105,6 +111,7 @@ extension ASTodayViewController: UITableViewDelegate, UITableViewDataSource {
/// qq: 1589353390
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)
if (cell?.isKind(of: oneTableViewCell.self))! {
@@ -126,6 +133,6 @@ extension ASTodayViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 520
}
}

View File

@@ -56,5 +56,8 @@ extension ASUpdateViewController: UITableViewDelegate, UITableViewDataSource {
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
navigationController?.pushViewController(ASDetailViewController(), animated: true)
}
}

BIN
appstore/View/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -29,8 +29,8 @@ class ASLargeSearchView: UIView, UITextFieldDelegate {
searchLabel.text = "Search"
addSubview(searchLabel)
searchTf = UITextField(frame: CGRect(x: 0, y: searchLabel.frame.maxY + 10, width: screenWidth - 60, height: 40))
searchTf.backgroundColor = commonColor
searchTf = UITextField(frame: CGRect(x: 0, y: searchLabel.frame.maxY + 10, width: SCREENWIDTH - 60, height: 40))
searchTf.backgroundColor = COMMONCOLOR
AppUtils.sharedAppUtils._clipsViewCorner(searchTf, radius: 10)
searchTf.placeholder = "App Store"
searchTf.leftView = UIImageView(image: UIImage(named: "searchtf"))

View File

@@ -43,24 +43,24 @@ class ASLargeTitleView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
timeLabel = UILabel(frame: CGRect(x: 30, y: 5, width: 100, height: 15))
timeLabel = UILabel(frame: CGRect(x: 30, y: 5, width: 150, height: 15))
timeLabel.font = UIFont.systemFont(ofSize: 12)
timeLabel.text = AppUtils.sharedAppUtils._getCurrentDayAndTime(formatStr: "M月DD")
timeLabel.text = AppUtils.sharedAppUtils._getCurrentDayAndTime(formatStr: "MM月dd")
timeLabel.textColor = .lightGray
addSubview(timeLabel)
headLabel = UILabel(frame: CGRect(x: 30, y: timeLabel.frame.maxY + 5, width: 100, height: 30))
headLabel = UILabel(frame: CGRect(x: 30, y: timeLabel.frame.maxY + 5, width: 100, height: 35))
headLabel.font = UIFont.boldSystemFont(ofSize: 30)
headLabel.text = "Today"
addSubview(headLabel)
headImage = UIImageView(frame: CGRect(x: screenWidth - 50 - 20, y: 5, width: 50, height: 50))
headImage.backgroundColor = commonColor
headImage = UIImageView(frame: CGRect(x: SCREENWIDTH - 50 - 20, y: 5, width: 50, height: 50))
headImage.backgroundColor = COMMONCOLOR
AppUtils.sharedAppUtils._clipsViewCorner(headImage, radius: 25)
addSubview(headImage)
bottomLine = UIView(frame: CGRect(x: 30, y: self.frame.maxY - 1, width: screenWidth - 60, height: 1))
bottomLine.backgroundColor = lineColor
bottomLine = UIView(frame: CGRect(x: 30, y: self.frame.maxY - 1, width: SCREENWIDTH - 60, height: 1))
bottomLine.backgroundColor = LINECOLOR
addSubview(bottomLine)
}

View File

@@ -24,8 +24,8 @@ class ASNavSearchView: UIView, UITextFieldDelegate {
super.init(frame: frame)
// backgroundColor = .brown
searchTf = UITextField(frame: CGRect(x: 20, y: STATUS_BAR_HEIGHT , width: Int(screenWidth - 100), height: 40))
searchTf.backgroundColor = commonColor
searchTf = UITextField(frame: CGRect(x: 20, y: STATUS_BAR_HEIGHT , width: Int(SCREENWIDTH - 100), height: 40))
searchTf.backgroundColor = COMMONCOLOR
AppUtils.sharedAppUtils._clipsViewCorner(searchTf, radius: 10)
searchTf.placeholder = "App Store"
searchTf.leftView = UIImageView(image: UIImage(named: "searchtf"))
@@ -35,9 +35,9 @@ class ASNavSearchView: UIView, UITextFieldDelegate {
addSubview(searchTf)
let cancelBtn = UIButton(type: .custom)
cancelBtn.frame = CGRect(x: screenWidth - 50, y: searchTf.center.y - 10, width: 40, height: 20)
cancelBtn.frame = CGRect(x: SCREENWIDTH - 50, y: searchTf.center.y - 10, width: 40, height: 20)
cancelBtn.setTitle("取消", for: .normal)
cancelBtn.setTitleColor(blueColor, for: .normal)
cancelBtn.setTitleColor(BLUECOLOR, for: .normal)
cancelBtn.addTarget(self, action: #selector(cancelClick), for: .touchUpInside)
addSubview(cancelBtn)

View File

@@ -0,0 +1,17 @@
//
// ASDetail1TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/3.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail1TableViewCell: UITableViewCell {
override class func awakeFromNib() {
super.awakeFromNib()
}
}

View File

@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="308" id="KGk-i7-Jjw" customClass="ASDetail1TableViewCell" customModule="appstore" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="477" height="308"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="477" height="308"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="版本13.0.0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RFQ-JS-p98">
<rect key="frame" x="20" y="64" width="80" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="新功能" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XiZ-KW-d8n">
<rect key="frame" x="20" y="20" width="73" height="29"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昨天" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dmX-Rb-Lgo">
<rect key="frame" x="422" y="64" width="35" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2KD-FK-Z7c">
<rect key="frame" x="340" y="19.5" width="117" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="H9t-Fe-wRQ"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<state key="normal" title="版本历史记录">
<color key="titleColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="本次更新:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IDP-rM-O8N">
<rect key="frame" x="20" y="105" width="82" height="19.5"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-解决了一些已知问题。" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RuY-9k-F5V">
<rect key="frame" x="20" y="134.5" width="170.5" height="19.5"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近更新:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xIc-I0-9XM">
<rect key="frame" x="20" y="164" width="82" height="19.5"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bhU-gl-tbA">
<rect key="frame" x="424" y="159" width="33" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="JP2-9Y-ETV"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<state key="normal" title="更多">
<color key="titleColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
<constraints>
<constraint firstItem="RuY-9k-F5V" firstAttribute="leading" secondItem="IDP-rM-O8N" secondAttribute="leading" id="15L-O5-yl5"/>
<constraint firstItem="xIc-I0-9XM" firstAttribute="top" secondItem="RuY-9k-F5V" secondAttribute="bottom" constant="10" id="6YJ-UJ-6qc"/>
<constraint firstItem="RuY-9k-F5V" firstAttribute="top" secondItem="IDP-rM-O8N" secondAttribute="bottom" constant="10" id="9Bf-eH-ftj"/>
<constraint firstItem="dmX-Rb-Lgo" firstAttribute="trailing" secondItem="2KD-FK-Z7c" secondAttribute="trailing" id="Mrs-iE-qcd"/>
<constraint firstItem="IDP-rM-O8N" firstAttribute="leading" secondItem="XiZ-KW-d8n" secondAttribute="leading" id="OLA-Bi-79p"/>
<constraint firstItem="bhU-gl-tbA" firstAttribute="trailing" secondItem="2KD-FK-Z7c" secondAttribute="trailing" id="ZkI-I3-xcj"/>
<constraint firstItem="XiZ-KW-d8n" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="aeL-Mp-uPf"/>
<constraint firstAttribute="trailing" secondItem="2KD-FK-Z7c" secondAttribute="trailing" constant="20" id="afK-uP-qz3"/>
<constraint firstItem="bhU-gl-tbA" firstAttribute="centerY" secondItem="xIc-I0-9XM" secondAttribute="centerY" id="bAk-1t-tbh"/>
<constraint firstItem="RFQ-JS-p98" firstAttribute="top" secondItem="XiZ-KW-d8n" secondAttribute="bottom" constant="15" id="e4H-Fs-PBj"/>
<constraint firstItem="xIc-I0-9XM" firstAttribute="leading" secondItem="RuY-9k-F5V" secondAttribute="leading" id="kEu-Xa-e4m"/>
<constraint firstItem="IDP-rM-O8N" firstAttribute="top" secondItem="RFQ-JS-p98" secondAttribute="bottom" constant="20" id="odE-Ku-vCs"/>
<constraint firstItem="dmX-Rb-Lgo" firstAttribute="centerY" secondItem="RFQ-JS-p98" secondAttribute="centerY" id="q6H-dJ-NlN"/>
<constraint firstItem="XiZ-KW-d8n" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="uck-Df-GQE"/>
<constraint firstItem="2KD-FK-Z7c" firstAttribute="centerY" secondItem="XiZ-KW-d8n" secondAttribute="centerY" id="x0k-q2-zoH"/>
<constraint firstItem="RFQ-JS-p98" firstAttribute="leading" secondItem="XiZ-KW-d8n" secondAttribute="leading" id="xlP-EQ-vyD"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<point key="canvasLocation" x="144.80000000000001" y="48.575712143928037"/>
</tableViewCell>
</objects>
</document>

View File

@@ -0,0 +1,55 @@
//
// ASDetail2TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/4.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail2TableViewCell: UITableViewCell {
@IBOutlet weak var previewCollectionView: UICollectionView!
override func awakeFromNib() {
super.awakeFromNib()
layoutUI();
}
func layoutUI() {
let width: CGFloat = (SCREENWIDTH - 10 - 40) / 1.5
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: 400)
layout.minimumLineSpacing = 10
layout.sectionInset = UIEdgeInsetsMake(0, 20, 0, 10)
layout.scrollDirection = .horizontal
previewCollectionView.collectionViewLayout = layout
previewCollectionView.delegate = self
previewCollectionView.dataSource = self
previewCollectionView.backgroundColor = .clear
previewCollectionView.showsHorizontalScrollIndicator = false
previewCollectionView.register(ASDetail_2CollectionViewCell.self, forCellWithReuseIdentifier:"ASDetail_2CollectionViewCell")
}
}
extension ASDetail2TableViewCell: UICollectionViewDelegate, UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier:"ASDetail_2CollectionViewCell", for: indexPath) as! ASDetail_2CollectionViewCell
return cell
}
}

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="536" id="KGk-i7-Jjw" customClass="ASDetail2TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="396" height="536"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="396" height="536"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="预览" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Tzc-hB-GJh">
<rect key="frame" x="20" y="20" width="49" height="51"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="kqd-hq-J67">
<rect key="frame" x="0.0" y="86" width="396" height="400"/>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<constraints>
<constraint firstAttribute="height" constant="400" id="3eP-LD-BXx"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="60C-x8-Ky7">
<size key="itemSize" width="50" height="50"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="apple" translatesAutoresizingMaskIntoConstraints="NO" id="2yT-EU-Tfa">
<rect key="frame" x="20" y="502" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="Ijq-sq-3VA"/>
<constraint firstAttribute="height" constant="20" id="sVi-ZT-QUN"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="提供Apple Phone App" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4ex-Ub-f2r">
<rect key="frame" x="55" y="503" width="152" height="18"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="4ex-Ub-f2r" firstAttribute="centerY" secondItem="2yT-EU-Tfa" secondAttribute="centerY" id="AUD-vx-VqY"/>
<constraint firstItem="4ex-Ub-f2r" firstAttribute="leading" secondItem="2yT-EU-Tfa" secondAttribute="trailing" constant="15" id="Lbm-Bh-9gk"/>
<constraint firstItem="Tzc-hB-GJh" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="Meq-Ct-A4P"/>
<constraint firstItem="kqd-hq-J67" firstAttribute="top" secondItem="Tzc-hB-GJh" secondAttribute="bottom" constant="15" id="ORI-aj-Nx5"/>
<constraint firstAttribute="trailing" secondItem="kqd-hq-J67" secondAttribute="trailing" id="P4l-BB-jhJ"/>
<constraint firstAttribute="bottom" secondItem="kqd-hq-J67" secondAttribute="bottom" constant="50" id="Qnn-Am-NDd"/>
<constraint firstItem="Tzc-hB-GJh" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="fjz-pi-EBQ"/>
<constraint firstItem="2yT-EU-Tfa" firstAttribute="leading" secondItem="Tzc-hB-GJh" secondAttribute="leading" id="fqH-ze-txj"/>
<constraint firstItem="2yT-EU-Tfa" firstAttribute="top" secondItem="kqd-hq-J67" secondAttribute="bottom" constant="16" id="psB-GF-pSU"/>
<constraint firstItem="kqd-hq-J67" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="zWy-3h-glN"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="previewCollectionView" destination="kqd-hq-J67" id="vhi-h5-yym"/>
</connections>
<point key="canvasLocation" x="104.34782608695653" y="161.38392857142856"/>
</tableViewCell>
</objects>
<resources>
<image name="apple" width="32" height="32"/>
</resources>
</document>

View File

@@ -0,0 +1,25 @@
//
// ASDetail3TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/4.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail3TableViewCell: UITableViewCell {
@IBOutlet weak var contentLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="184" id="KGk-i7-Jjw" customClass="ASDetail3TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="383" height="184"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="383" height="184"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="对酒当歌,人生几何!譬如朝露,去日苦多。慨当以慷,忧思难忘。何以解忧?唯有杜康。" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="izb-ZW-SQy">
<rect key="frame" x="20" y="20" width="333" height="36"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MD" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6IH-mC-aBD">
<rect key="frame" x="20" y="86" width="24" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="开发者" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qvb-Hb-ELs">
<rect key="frame" x="20" y="106" width="40" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chevron.right" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="7h0-y2-eiV">
<rect key="frame" x="345" y="98" width="24" height="17"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="20.5" id="FR4-Z1-eCM"/>
<constraint firstAttribute="width" constant="24" id="IgV-A5-bsI"/>
</constraints>
</imageView>
</subviews>
<constraints>
<constraint firstItem="7h0-y2-eiV" firstAttribute="top" secondItem="6IH-mC-aBD" secondAttribute="bottom" constant="-8" id="2ww-TJ-9P2"/>
<constraint firstItem="6IH-mC-aBD" firstAttribute="top" secondItem="izb-ZW-SQy" secondAttribute="bottom" constant="30" id="9UA-kh-4Wg"/>
<constraint firstItem="qvb-Hb-ELs" firstAttribute="top" secondItem="6IH-mC-aBD" secondAttribute="bottom" constant="2" id="FB5-zA-ded"/>
<constraint firstItem="izb-ZW-SQy" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="PaF-pH-xib"/>
<constraint firstItem="6IH-mC-aBD" firstAttribute="leading" secondItem="izb-ZW-SQy" secondAttribute="leading" id="Wyr-4q-gnC"/>
<constraint firstAttribute="trailing" secondItem="izb-ZW-SQy" secondAttribute="trailing" constant="30" id="jg3-qX-RqK"/>
<constraint firstAttribute="trailing" secondItem="7h0-y2-eiV" secondAttribute="trailing" constant="14" id="o1f-LX-xsm"/>
<constraint firstItem="qvb-Hb-ELs" firstAttribute="leading" secondItem="6IH-mC-aBD" secondAttribute="leading" id="qqu-g6-vCR"/>
<constraint firstItem="izb-ZW-SQy" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="vZc-J0-HjS"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="contentLabel" destination="izb-ZW-SQy" id="cxT-Hm-TW2"/>
</connections>
<point key="canvasLocation" x="58.695652173913047" y="132.58928571428572"/>
</tableViewCell>
</objects>
<resources>
<image name="chevron.right" catalog="system" width="48" height="64"/>
</resources>
</document>

View File

@@ -0,0 +1,24 @@
//
// ASDetail4TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/4.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail4TableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}

View File

@@ -0,0 +1,370 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="175" id="KGk-i7-Jjw" customClass="ASDetail4TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="508" height="175"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" alpha="0.75" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="508" height="175"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评分及评论" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Thv-ft-pey">
<rect key="frame" x="20" y="20" width="122" height="29"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v0Z-w5-KDM">
<rect key="frame" x="410" y="19.5" width="78" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="1SZ-QT-yxw"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<state key="normal" title="查看全部">
<color key="titleColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="5.1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cW3-sQ-ya3">
<rect key="frame" x="20" y="64" width="67.5" height="60"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="50"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="满分5分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kEm-k9-A8l">
<rect key="frame" x="36" y="124" width="59" height="19.5"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="Ziv-9B-XPQ">
<rect key="frame" x="172" y="75.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="V1o-qp-lXu"/>
<constraint firstAttribute="width" constant="10" id="dsU-3D-zOm"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="rew-Cg-Njq">
<rect key="frame" x="187" y="75.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="Q52-Uj-Bf7"/>
<constraint firstAttribute="width" constant="10" id="mmt-eg-Koj"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="5MY-ho-LcA">
<rect key="frame" x="202" y="75.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="2bB-aQ-UcJ"/>
<constraint firstAttribute="height" constant="10" id="zEt-9B-9qh"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="CTT-Gm-c61">
<rect key="frame" x="217" y="75.5" width="10" height="7.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="bAn-Kk-Lxf"/>
<constraint firstAttribute="height" constant="10" id="q2K-GA-L0S"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="yBj-RM-NX8">
<rect key="frame" x="232" y="75.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="F7O-QH-Jl3"/>
<constraint firstAttribute="height" constant="10" id="aKQ-7R-ucr"/>
</constraints>
</imageView>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.90000000000000002" translatesAutoresizingMaskIntoConstraints="NO" id="Kmc-8O-Yge">
<rect key="frame" x="250" y="78" width="238" height="2"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</progressView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="bFr-Br-5Ey">
<rect key="frame" x="172" y="85.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="KWf-bL-xpP"/>
<constraint firstAttribute="width" constant="10" id="PY5-Ob-NlZ"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="Q9G-YZ-Vhd">
<rect key="frame" x="187" y="85.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="2e2-BE-9K4"/>
<constraint firstAttribute="height" constant="10" id="cPK-DO-JaA"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="khe-yh-AcX">
<rect key="frame" x="202" y="85.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="LMH-mC-GnZ"/>
<constraint firstAttribute="width" constant="10" id="uHR-7Y-IFZ"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="ENC-PG-5oa">
<rect key="frame" x="217" y="85.5" width="10" height="7.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="H4H-0d-dTY"/>
<constraint firstAttribute="height" constant="10" id="itM-Nm-ZQr"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="S1Y-tg-d3r">
<rect key="frame" x="232" y="85.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="72m-tH-tAS"/>
<constraint firstAttribute="width" constant="10" id="dCT-F0-Ji5"/>
</constraints>
</imageView>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="YX1-5S-926">
<rect key="frame" x="250" y="88" width="238" height="2"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</progressView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="cIm-Op-kr0">
<rect key="frame" x="172" y="95.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="5RN-x6-kXh"/>
<constraint firstAttribute="width" constant="10" id="lTa-Fo-ggZ"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="fkb-g2-XXF">
<rect key="frame" x="187" y="95.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="5TV-Dn-sqX"/>
<constraint firstAttribute="height" constant="10" id="iYb-fK-rkZ"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="Wti-sM-nH7">
<rect key="frame" x="202" y="95.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="HBr-Pp-mvj"/>
<constraint firstAttribute="width" constant="10" id="bzi-yi-Ia4"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="cmD-Lx-GgE">
<rect key="frame" x="217" y="95.5" width="10" height="7.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="crB-c1-9XX"/>
<constraint firstAttribute="height" constant="10" id="kSN-qJ-Nrf"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="KWy-Gn-jeE">
<rect key="frame" x="232" y="95.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="5jD-kx-0RB"/>
<constraint firstAttribute="width" constant="10" id="Csj-Gn-lNL"/>
</constraints>
</imageView>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.80000000000000004" translatesAutoresizingMaskIntoConstraints="NO" id="yCB-2v-8Ro">
<rect key="frame" x="250" y="98" width="238" height="2"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</progressView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="YXB-9R-R6n">
<rect key="frame" x="172" y="105.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="9ZQ-BD-btU"/>
<constraint firstAttribute="height" constant="10" id="rid-rc-9xw"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="3yW-Vm-Mwq">
<rect key="frame" x="187" y="105.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="dP1-5w-SW7"/>
<constraint firstAttribute="width" constant="10" id="fs8-3b-XoF"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="TUZ-PC-zTU">
<rect key="frame" x="202" y="105.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="fDb-sd-rkT"/>
<constraint firstAttribute="height" constant="10" id="hOA-Cr-liT"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="MZB-Vg-n7y">
<rect key="frame" x="217" y="105.5" width="10" height="7.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="8EW-Dd-ehN"/>
<constraint firstAttribute="height" constant="10" id="9Lk-qU-8H2"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="Tdd-oz-sj9">
<rect key="frame" x="232" y="105.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="llU-4Q-N2i"/>
<constraint firstAttribute="width" constant="10" id="w7d-7t-xZa"/>
</constraints>
</imageView>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.29999999999999999" translatesAutoresizingMaskIntoConstraints="NO" id="EDh-cF-Cub">
<rect key="frame" x="250" y="108" width="238" height="2"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</progressView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="sLv-5j-rlC">
<rect key="frame" x="172" y="115.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="KVZ-nP-loO"/>
<constraint firstAttribute="width" constant="10" id="mAG-X9-h1q"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="UOj-OH-Jes">
<rect key="frame" x="187" y="115.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="TK3-0t-kaA"/>
<constraint firstAttribute="height" constant="10" id="n8a-3z-Y9O"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="3Zf-dB-RLD">
<rect key="frame" x="202" y="115.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="XuK-G3-Kgx"/>
<constraint firstAttribute="height" constant="10" id="nD1-6s-YRR"/>
</constraints>
</imageView>
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="UZY-FT-mPY">
<rect key="frame" x="217" y="115.5" width="10" height="7.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="lnq-Nl-MBn"/>
<constraint firstAttribute="height" constant="10" id="rrL-0S-rXQ"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="heart.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="B1n-7E-cIq">
<rect key="frame" x="232" y="115.5" width="10" height="7.5"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="10" id="EF1-oM-J2o"/>
<constraint firstAttribute="width" constant="10" id="jSK-SB-3HP"/>
</constraints>
</imageView>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.10000000000000001" translatesAutoresizingMaskIntoConstraints="NO" id="VuU-6y-sE7">
<rect key="frame" x="250" y="118" width="238" height="2"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</progressView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="9967137192个评分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9U0-Eb-QLc">
<rect key="frame" x="356.5" y="125" width="131.5" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="9U0-Eb-QLc" firstAttribute="trailing" secondItem="v0Z-w5-KDM" secondAttribute="trailing" id="27v-3J-XDv"/>
<constraint firstItem="yBj-RM-NX8" firstAttribute="centerY" secondItem="CTT-Gm-c61" secondAttribute="centerY" id="3Z1-3n-sJh"/>
<constraint firstItem="rew-Cg-Njq" firstAttribute="leading" secondItem="Ziv-9B-XPQ" secondAttribute="trailing" constant="5" id="460-0H-vJh"/>
<constraint firstItem="EDh-cF-Cub" firstAttribute="leading" secondItem="Tdd-oz-sj9" secondAttribute="trailing" constant="8" id="4Sr-z5-CMX"/>
<constraint firstItem="Ziv-9B-XPQ" firstAttribute="leading" secondItem="Thv-ft-pey" secondAttribute="trailing" constant="30" id="9OC-OU-zS7"/>
<constraint firstItem="cW3-sQ-ya3" firstAttribute="leading" secondItem="Thv-ft-pey" secondAttribute="leading" id="9cP-zA-TPb"/>
<constraint firstItem="KWy-Gn-jeE" firstAttribute="leading" secondItem="cmD-Lx-GgE" secondAttribute="trailing" constant="5" id="AvZ-h9-4GU"/>
<constraint firstItem="MZB-Vg-n7y" firstAttribute="leading" secondItem="TUZ-PC-zTU" secondAttribute="trailing" constant="5" id="CcK-ht-wlb"/>
<constraint firstItem="yCB-2v-8Ro" firstAttribute="leading" secondItem="KWy-Gn-jeE" secondAttribute="trailing" constant="8" id="E3a-h7-0Wg"/>
<constraint firstItem="YX1-5S-926" firstAttribute="trailing" secondItem="Kmc-8O-Yge" secondAttribute="trailing" id="ETq-9C-E6x"/>
<constraint firstItem="VuU-6y-sE7" firstAttribute="leading" secondItem="B1n-7E-cIq" secondAttribute="trailing" constant="8" id="EU4-Pz-O4d"/>
<constraint firstItem="kEm-k9-A8l" firstAttribute="leading" secondItem="cW3-sQ-ya3" secondAttribute="leading" constant="16" id="GGW-CA-jc7"/>
<constraint firstItem="KWy-Gn-jeE" firstAttribute="centerY" secondItem="cmD-Lx-GgE" secondAttribute="centerY" id="Hvo-70-s1f"/>
<constraint firstItem="yCB-2v-8Ro" firstAttribute="trailing" secondItem="YX1-5S-926" secondAttribute="trailing" id="JF9-3M-4Y2"/>
<constraint firstItem="Ziv-9B-XPQ" firstAttribute="top" secondItem="cW3-sQ-ya3" secondAttribute="top" constant="10" id="JLr-cV-R3f"/>
<constraint firstItem="UZY-FT-mPY" firstAttribute="centerY" secondItem="3Zf-dB-RLD" secondAttribute="centerY" id="Kri-9N-9mu"/>
<constraint firstItem="B1n-7E-cIq" firstAttribute="leading" secondItem="UZY-FT-mPY" secondAttribute="trailing" constant="5" id="LYe-5b-gS2"/>
<constraint firstItem="Thv-ft-pey" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="Lb9-Wy-SnZ"/>
<constraint firstItem="EDh-cF-Cub" firstAttribute="trailing" secondItem="yCB-2v-8Ro" secondAttribute="trailing" id="Mhe-Ro-710"/>
<constraint firstItem="YXB-9R-R6n" firstAttribute="leading" secondItem="cIm-Op-kr0" secondAttribute="leading" id="NGx-co-0vi"/>
<constraint firstItem="cmD-Lx-GgE" firstAttribute="leading" secondItem="Wti-sM-nH7" secondAttribute="trailing" constant="5" id="OLS-ia-dXd"/>
<constraint firstItem="Tdd-oz-sj9" firstAttribute="leading" secondItem="MZB-Vg-n7y" secondAttribute="trailing" constant="5" id="PGn-07-BPX"/>
<constraint firstItem="Tdd-oz-sj9" firstAttribute="centerY" secondItem="MZB-Vg-n7y" secondAttribute="centerY" id="RYt-1g-qD3"/>
<constraint firstItem="EDh-cF-Cub" firstAttribute="leading" secondItem="yCB-2v-8Ro" secondAttribute="leading" id="St8-ay-VXi"/>
<constraint firstItem="TUZ-PC-zTU" firstAttribute="centerY" secondItem="3yW-Vm-Mwq" secondAttribute="centerY" id="TIH-ax-yrC"/>
<constraint firstItem="Thv-ft-pey" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="Ug5-va-ap8"/>
<constraint firstItem="UOj-OH-Jes" firstAttribute="centerY" secondItem="sLv-5j-rlC" secondAttribute="centerY" id="UuI-sH-cVw"/>
<constraint firstItem="fkb-g2-XXF" firstAttribute="leading" secondItem="cIm-Op-kr0" secondAttribute="trailing" constant="5" id="VmP-EZ-bFo"/>
<constraint firstItem="CTT-Gm-c61" firstAttribute="centerY" secondItem="5MY-ho-LcA" secondAttribute="centerY" id="WHb-ER-A9G"/>
<constraint firstItem="bFr-Br-5Ey" firstAttribute="top" secondItem="Ziv-9B-XPQ" secondAttribute="bottom" id="WKu-0k-nir"/>
<constraint firstItem="Wti-sM-nH7" firstAttribute="leading" secondItem="fkb-g2-XXF" secondAttribute="trailing" constant="5" id="WPz-ZJ-O4r"/>
<constraint firstItem="YXB-9R-R6n" firstAttribute="top" secondItem="cIm-Op-kr0" secondAttribute="bottom" id="Ww5-ww-nHI"/>
<constraint firstItem="ENC-PG-5oa" firstAttribute="centerY" secondItem="khe-yh-AcX" secondAttribute="centerY" id="YHm-B5-ckl"/>
<constraint firstItem="cIm-Op-kr0" firstAttribute="top" secondItem="bFr-Br-5Ey" secondAttribute="bottom" id="ZF8-zW-CVg"/>
<constraint firstItem="khe-yh-AcX" firstAttribute="centerY" secondItem="Q9G-YZ-Vhd" secondAttribute="centerY" id="ZRL-1m-1UA"/>
<constraint firstItem="Kmc-8O-Yge" firstAttribute="centerY" secondItem="yBj-RM-NX8" secondAttribute="centerY" id="aMk-q9-1lO"/>
<constraint firstItem="5MY-ho-LcA" firstAttribute="centerY" secondItem="rew-Cg-Njq" secondAttribute="centerY" id="aOe-R9-1oU"/>
<constraint firstItem="EDh-cF-Cub" firstAttribute="centerY" secondItem="Tdd-oz-sj9" secondAttribute="centerY" id="bPp-k6-IzW"/>
<constraint firstItem="Q9G-YZ-Vhd" firstAttribute="leading" secondItem="bFr-Br-5Ey" secondAttribute="trailing" constant="5" id="bra-un-uou"/>
<constraint firstItem="Wti-sM-nH7" firstAttribute="centerY" secondItem="fkb-g2-XXF" secondAttribute="centerY" id="cSX-tb-Jcq"/>
<constraint firstItem="cW3-sQ-ya3" firstAttribute="top" secondItem="Thv-ft-pey" secondAttribute="bottom" constant="15" id="clY-ka-AUW"/>
<constraint firstItem="v0Z-w5-KDM" firstAttribute="centerY" secondItem="Thv-ft-pey" secondAttribute="centerY" id="cvZ-BF-hf3"/>
<constraint firstItem="UOj-OH-Jes" firstAttribute="leading" secondItem="sLv-5j-rlC" secondAttribute="trailing" constant="5" id="f0P-MG-GUv"/>
<constraint firstItem="YX1-5S-926" firstAttribute="centerY" secondItem="S1Y-tg-d3r" secondAttribute="centerY" id="fua-GP-ghb"/>
<constraint firstItem="3Zf-dB-RLD" firstAttribute="leading" secondItem="UOj-OH-Jes" secondAttribute="trailing" constant="5" id="hLt-4w-tvf"/>
<constraint firstItem="cIm-Op-kr0" firstAttribute="leading" secondItem="bFr-Br-5Ey" secondAttribute="leading" id="hMT-Dq-tPw"/>
<constraint firstItem="Q9G-YZ-Vhd" firstAttribute="centerY" secondItem="bFr-Br-5Ey" secondAttribute="centerY" id="i7T-h4-6UQ"/>
<constraint firstItem="TUZ-PC-zTU" firstAttribute="leading" secondItem="3yW-Vm-Mwq" secondAttribute="trailing" constant="5" id="iKz-wA-2uA"/>
<constraint firstItem="CTT-Gm-c61" firstAttribute="leading" secondItem="5MY-ho-LcA" secondAttribute="trailing" constant="5" id="jGx-Ug-oqJ"/>
<constraint firstItem="cmD-Lx-GgE" firstAttribute="centerY" secondItem="Wti-sM-nH7" secondAttribute="centerY" id="jNN-U8-OnF"/>
<constraint firstItem="9U0-Eb-QLc" firstAttribute="centerY" secondItem="kEm-k9-A8l" secondAttribute="centerY" id="kAe-tJ-ZWi"/>
<constraint firstItem="S1Y-tg-d3r" firstAttribute="leading" secondItem="ENC-PG-5oa" secondAttribute="trailing" constant="5" id="kEQ-ot-cfh"/>
<constraint firstItem="5MY-ho-LcA" firstAttribute="leading" secondItem="rew-Cg-Njq" secondAttribute="trailing" constant="5" id="kH2-NT-1LG"/>
<constraint firstItem="3yW-Vm-Mwq" firstAttribute="centerY" secondItem="YXB-9R-R6n" secondAttribute="centerY" id="kPA-mE-L50"/>
<constraint firstItem="khe-yh-AcX" firstAttribute="leading" secondItem="Q9G-YZ-Vhd" secondAttribute="trailing" constant="5" id="kcn-Io-PKU"/>
<constraint firstItem="B1n-7E-cIq" firstAttribute="centerY" secondItem="UZY-FT-mPY" secondAttribute="centerY" id="keI-OG-ZVH"/>
<constraint firstItem="kEm-k9-A8l" firstAttribute="top" secondItem="cW3-sQ-ya3" secondAttribute="bottom" id="klA-2u-Un3"/>
<constraint firstItem="sLv-5j-rlC" firstAttribute="leading" secondItem="YXB-9R-R6n" secondAttribute="leading" id="l4v-4b-eTb"/>
<constraint firstItem="yCB-2v-8Ro" firstAttribute="centerY" secondItem="KWy-Gn-jeE" secondAttribute="centerY" id="lB5-4p-YgV"/>
<constraint firstItem="S1Y-tg-d3r" firstAttribute="centerY" secondItem="ENC-PG-5oa" secondAttribute="centerY" id="lCQ-Tm-0rx"/>
<constraint firstItem="yBj-RM-NX8" firstAttribute="leading" secondItem="CTT-Gm-c61" secondAttribute="trailing" constant="5" id="mp5-wp-EBa"/>
<constraint firstItem="VuU-6y-sE7" firstAttribute="centerY" secondItem="B1n-7E-cIq" secondAttribute="centerY" id="nNe-Y4-Wln"/>
<constraint firstItem="ENC-PG-5oa" firstAttribute="leading" secondItem="khe-yh-AcX" secondAttribute="trailing" constant="5" id="nOf-Xi-8of"/>
<constraint firstItem="Kmc-8O-Yge" firstAttribute="leading" secondItem="yBj-RM-NX8" secondAttribute="trailing" constant="8" id="na6-Du-GZR"/>
<constraint firstItem="fkb-g2-XXF" firstAttribute="centerY" secondItem="cIm-Op-kr0" secondAttribute="centerY" id="pZK-fG-VX3"/>
<constraint firstItem="3Zf-dB-RLD" firstAttribute="centerY" secondItem="UOj-OH-Jes" secondAttribute="centerY" id="qN6-O0-VxY"/>
<constraint firstItem="MZB-Vg-n7y" firstAttribute="centerY" secondItem="TUZ-PC-zTU" secondAttribute="centerY" id="rO1-HU-QaO"/>
<constraint firstItem="bFr-Br-5Ey" firstAttribute="leading" secondItem="Ziv-9B-XPQ" secondAttribute="leading" id="t9L-IP-96Q"/>
<constraint firstItem="VuU-6y-sE7" firstAttribute="leading" secondItem="Kmc-8O-Yge" secondAttribute="leading" id="tPj-T0-p4w"/>
<constraint firstItem="YX1-5S-926" firstAttribute="leading" secondItem="S1Y-tg-d3r" secondAttribute="trailing" constant="8" id="uOn-Cj-xOq"/>
<constraint firstItem="UZY-FT-mPY" firstAttribute="leading" secondItem="3Zf-dB-RLD" secondAttribute="trailing" constant="5" id="un6-re-BgZ"/>
<constraint firstItem="rew-Cg-Njq" firstAttribute="centerY" secondItem="Ziv-9B-XPQ" secondAttribute="centerY" id="wky-MX-abG"/>
<constraint firstItem="VuU-6y-sE7" firstAttribute="trailing" secondItem="Kmc-8O-Yge" secondAttribute="trailing" id="xWg-zx-mFK"/>
<constraint firstItem="sLv-5j-rlC" firstAttribute="top" secondItem="YXB-9R-R6n" secondAttribute="bottom" id="xpn-5c-5oQ"/>
<constraint firstItem="3yW-Vm-Mwq" firstAttribute="leading" secondItem="YXB-9R-R6n" secondAttribute="trailing" constant="5" id="yer-bt-zTe"/>
<constraint firstItem="Kmc-8O-Yge" firstAttribute="trailing" secondItem="v0Z-w5-KDM" secondAttribute="trailing" id="zmg-Ae-RRh"/>
</constraints>
</tableViewCellContentView>
<constraints>
<constraint firstItem="njF-e1-oar" firstAttribute="trailing" secondItem="v0Z-w5-KDM" secondAttribute="trailing" constant="20" id="rtq-CL-JxO"/>
</constraints>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<point key="canvasLocation" x="-52.173913043478265" y="121.54017857142857"/>
</tableViewCell>
</objects>
<resources>
<image name="heart.fill" catalog="system" width="64" height="54"/>
</resources>
</document>

View File

@@ -0,0 +1,56 @@
//
// ASDetail5TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail5TableViewCell: UITableViewCell {
@IBOutlet weak var commentCollectionV: UICollectionView!
var arrangeA: [String] = ["各省、自治区、直辖市人民政府国务院各部委、各直属机构经国务院批准现将2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期的具体安排通知如下","一、元旦2020年1月1日放假共1天。二、春节1月24日至30日放假调休共7天。1月19日星期日、2月1日星期六上班。 三、清明节4月4日至6日放假调休共3天。"," 四、劳动节5月1日至5日放假调休共5天。4月26日星期日、5月9日星期六上班。 五、端午节6月25日至27日放假调休共3天。6月28日星期日上班。六、国庆节、中秋节10月1日至8日放假调休共8天。9月27日星期日、10月10日星期六上班。"]
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
layoutUI();
}
func layoutUI() {
let width: CGFloat = (SCREENWIDTH - 10 - 20 - 10)
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: 200)
layout.minimumLineSpacing = 10
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 10)
layout.scrollDirection = .horizontal
commentCollectionV.collectionViewLayout = layout
commentCollectionV.delegate = self
commentCollectionV.dataSource = self
commentCollectionV.backgroundColor = .clear
commentCollectionV.showsHorizontalScrollIndicator = false
commentCollectionV.register(UINib.init(nibName: "ASDetail_3CollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ASDetail_3CollectionViewCell")
}
}
extension ASDetail5TableViewCell: UICollectionViewDelegate, UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier:"ASDetail_3CollectionViewCell", for: indexPath) as! ASDetail_3CollectionViewCell
cell.backgroundColor = COMMONCOLOR
cell.contentLabel.text = arrangeA[indexPath.item]
return cell
}
}

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="372" id="KGk-i7-Jjw" customClass="ASDetail5TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="463" height="372"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="463" height="372"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="轻点评分:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wx3-y7-hyX">
<rect key="frame" x="20" y="20" width="87" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="NFf-TZ-Sgw">
<rect key="frame" x="218.5" y="15.5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="PkW-r1-QWs"/>
<constraint firstAttribute="width" constant="30" id="bGE-ki-oHx"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="8pp-JB-6Mg">
<rect key="frame" x="256.5" y="15.5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="KB6-An-rRD"/>
<constraint firstAttribute="height" constant="30" id="cvm-Y9-Dhp"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="p1V-Hk-XoG">
<rect key="frame" x="294.5" y="15.5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="2eB-Kk-PRS"/>
<constraint firstAttribute="width" constant="30" id="b8M-zl-2kZ"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="vzt-ER-TpJ">
<rect key="frame" x="332.5" y="15.5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="DG0-bZ-mNG"/>
<constraint firstAttribute="height" constant="30" id="Msj-7V-vbK"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="CBg-vS-KMF">
<rect key="frame" x="370.5" y="15.5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="3JO-Rp-6ws"/>
<constraint firstAttribute="height" constant="30" id="dRr-p3-8lX"/>
</constraints>
</imageView>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="uru-tg-N9g">
<rect key="frame" x="20" y="55.5" width="443" height="200"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="200" id="yBC-75-M9Y"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="2Hl-UT-1Bz">
<size key="itemSize" width="50" height="50"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="square.and.pencil" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="qKP-w4-ht0">
<rect key="frame" x="20" y="265" width="20" height="29"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="7FU-NY-Nkp"/>
<constraint firstAttribute="height" constant="30" id="jey-K7-zfE"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="撰写评论" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oF8-es-gMC">
<rect key="frame" x="48" y="270.5" width="69.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="questionmark.circle" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="aZO-xH-DFa">
<rect key="frame" x="348" y="261" width="20" height="39"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="So6-pp-eAO"/>
<constraint firstAttribute="width" constant="20" id="c0U-L5-we6"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="APP支持" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yrh-dK-6hq">
<rect key="frame" x="376" y="270.5" width="67" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="qKP-w4-ht0" firstAttribute="top" secondItem="uru-tg-N9g" secondAttribute="bottom" constant="10" id="4nE-KA-tU7"/>
<constraint firstItem="p1V-Hk-XoG" firstAttribute="leading" secondItem="8pp-JB-6Mg" secondAttribute="trailing" constant="8" id="6bH-kc-ZKd"/>
<constraint firstItem="CBg-vS-KMF" firstAttribute="centerY" secondItem="vzt-ER-TpJ" secondAttribute="centerY" id="6fO-FL-Y5Y"/>
<constraint firstItem="8pp-JB-6Mg" firstAttribute="centerY" secondItem="NFf-TZ-Sgw" secondAttribute="centerY" id="DI4-Kf-l0B"/>
<constraint firstItem="uru-tg-N9g" firstAttribute="top" secondItem="NFf-TZ-Sgw" secondAttribute="bottom" constant="10" id="LMO-xT-wB6"/>
<constraint firstItem="p1V-Hk-XoG" firstAttribute="centerY" secondItem="8pp-JB-6Mg" secondAttribute="centerY" id="Mfp-Vp-e5i"/>
<constraint firstItem="oF8-es-gMC" firstAttribute="centerY" secondItem="qKP-w4-ht0" secondAttribute="centerY" id="OIx-s1-YYc"/>
<constraint firstItem="Yrh-dK-6hq" firstAttribute="centerY" secondItem="aZO-xH-DFa" secondAttribute="centerY" id="Ri3-Qr-Zgg"/>
<constraint firstItem="vzt-ER-TpJ" firstAttribute="leading" secondItem="p1V-Hk-XoG" secondAttribute="trailing" constant="8" id="Tu2-ro-ezV"/>
<constraint firstItem="8pp-JB-6Mg" firstAttribute="leading" secondItem="NFf-TZ-Sgw" secondAttribute="trailing" constant="8" id="UPi-eF-y8e"/>
<constraint firstItem="oF8-es-gMC" firstAttribute="leading" secondItem="qKP-w4-ht0" secondAttribute="trailing" constant="8" id="YUf-IS-VHh"/>
<constraint firstItem="qKP-w4-ht0" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="b0a-r5-die"/>
<constraint firstItem="Yrh-dK-6hq" firstAttribute="leading" secondItem="aZO-xH-DFa" secondAttribute="trailing" constant="8" id="bjo-hm-VGB"/>
<constraint firstItem="CBg-vS-KMF" firstAttribute="leading" secondItem="vzt-ER-TpJ" secondAttribute="trailing" constant="8" id="eLr-Cr-Jug"/>
<constraint firstItem="Yrh-dK-6hq" firstAttribute="centerY" secondItem="oF8-es-gMC" secondAttribute="centerY" id="hLf-76-Zwr"/>
<constraint firstItem="NFf-TZ-Sgw" firstAttribute="centerY" secondItem="wx3-y7-hyX" secondAttribute="centerY" id="i31-tZ-2U2"/>
<constraint firstItem="NFf-TZ-Sgw" firstAttribute="leading" secondItem="wx3-y7-hyX" secondAttribute="trailing" constant="111.5" id="jHh-WM-WUV"/>
<constraint firstItem="uru-tg-N9g" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="rSU-MV-NLc"/>
<constraint firstItem="vzt-ER-TpJ" firstAttribute="centerY" secondItem="p1V-Hk-XoG" secondAttribute="centerY" id="uYG-p2-SRG"/>
<constraint firstAttribute="trailing" secondItem="uru-tg-N9g" secondAttribute="trailing" id="v5g-Mq-qon"/>
<constraint firstAttribute="trailing" secondItem="Yrh-dK-6hq" secondAttribute="trailing" constant="20" id="x8C-l7-wlj"/>
</constraints>
</tableViewCellContentView>
<constraints>
<constraint firstItem="wx3-y7-hyX" firstAttribute="leading" secondItem="njF-e1-oar" secondAttribute="leading" constant="20" id="BVI-nz-gPb"/>
<constraint firstItem="wx3-y7-hyX" firstAttribute="top" secondItem="njF-e1-oar" secondAttribute="top" constant="20" id="Paq-NP-qg6"/>
</constraints>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="commentCollectionV" destination="uru-tg-N9g" id="iWh-iJ-sIe"/>
</connections>
<point key="canvasLocation" x="3.6231884057971016" y="109.15178571428571"/>
</tableViewCell>
</objects>
<resources>
<image name="questionmark.circle" catalog="system" width="64" height="60"/>
<image name="square.and.pencil" catalog="system" width="64" height="58"/>
<image name="star" catalog="system" width="64" height="58"/>
</resources>
</document>

View File

@@ -0,0 +1,67 @@
//
// ASDetail6TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail6TableViewCell: UITableViewCell {
lazy var tableCell: UITableView = {
let tableCell = UITableView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH - 20, height: 11*44 + 50 + 26), style: .plain)
return tableCell
}()
override func awakeFromNib() {
super.awakeFromNib()
layoutUI();
}
func layoutUI() {
tableCell.delegate = self
tableCell.dataSource = self
addSubview(tableCell)
tableCell.register(UINib.init(nibName: "ASDetail_6TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail_6TableViewCell")
}
}
extension ASDetail6TableViewCell: UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 11
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail_6TableViewCell") as? ASDetail_6TableViewCell
cell?.cellIndex = indexPath.row
return cell!
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headV = UIView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: 50))
let headLabel = UILabel(frame: CGRect(x: 20, y: 0, width: 100, height: 50))
headLabel.text = "信息"
headLabel.font = .boldSystemFont(ofSize: 24)
headV .addSubview(headLabel)
return headV
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 10 {
return 70
}
return 44
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 50
}
}

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="ASDetail6TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<point key="canvasLocation" x="-210" y="94"/>
</tableViewCell>
</objects>
</document>

View File

@@ -0,0 +1,66 @@
//
// ASDetail7TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail7TableViewCell: UITableViewCell {
lazy var tableCell: UITableView = {
let tableCell = UITableView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH - 20, height: 300), style: .plain)
return tableCell
}()
override func awakeFromNib() {
super.awakeFromNib()
layoutUI();
}
func layoutUI() {
tableCell.delegate = self
tableCell.dataSource = self
tableCell.rowHeight = 70
addSubview(tableCell)
tableCell.separatorStyle = .none
tableCell.register(UINib.init(nibName: "ASDetail_7TableViewCell", bundle: nil), forCellReuseIdentifier: "ASDetail_7TableViewCell")
}
}
extension ASDetail7TableViewCell: UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ASDetail_7TableViewCell") as? ASDetail_7TableViewCell
cell?.cellIndex = indexPath.row
return cell!
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headV = UIView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: 50))
let headLabel = UILabel(frame: CGRect(x: 20, y: 0, width: 100, height: 50))
headLabel.text = "支持"
headLabel.font = .boldSystemFont(ofSize: 24)
headV .addSubview(headLabel)
return headV
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 50
}
}

View File

@@ -0,0 +1,21 @@
<?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">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="ASDetail7TableViewCell" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
</tableViewCell>
</objects>
</document>

View File

@@ -0,0 +1,52 @@
//
// ASDetail8TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail8TableViewCell: UITableViewCell {
@IBOutlet weak var likeCollectionV: UICollectionView!
override func awakeFromNib() {
super.awakeFromNib()
layoutUI();
}
func layoutUI() {
backgroundColor = COMMONCOLOR
let width: CGFloat = (SCREENWIDTH - 40)
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: 200)
layout.sectionInset = UIEdgeInsetsMake(0, 20, 0, 0)
layout.scrollDirection = .horizontal
likeCollectionV.collectionViewLayout = layout
likeCollectionV.delegate = self
likeCollectionV.dataSource = self
likeCollectionV.backgroundColor = .clear
likeCollectionV.showsHorizontalScrollIndicator = false
likeCollectionV.register(UINib.init(nibName: "ASDetail_8CollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ASDetail_8CollectionViewCell")
}
}
extension ASDetail8TableViewCell: UICollectionViewDelegate, UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier:"ASDetail_8CollectionViewCell", for: indexPath) as! ASDetail_8CollectionViewCell
return cell
}
}

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="211" id="KGk-i7-Jjw" customClass="ASDetail8TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="393" height="211"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="393" height="211"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您可能还喜欢" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fh7-UR-pk9">
<rect key="frame" x="20" y="20" width="146" height="29"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="查看全部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bin-ck-UaW">
<rect key="frame" x="303.5" y="24.5" width="69.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="us6-eT-mpX">
<rect key="frame" x="0.0" y="64" width="393" height="147"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="X8b-YU-0kD">
<size key="itemSize" width="50" height="50"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
</subviews>
<constraints>
<constraint firstItem="us6-eT-mpX" firstAttribute="top" secondItem="Fh7-UR-pk9" secondAttribute="bottom" constant="15" id="KkK-K0-tqi"/>
<constraint firstItem="Fh7-UR-pk9" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="LhU-3F-bXB"/>
<constraint firstItem="Fh7-UR-pk9" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="Und-Lg-26G"/>
<constraint firstAttribute="trailing" secondItem="us6-eT-mpX" secondAttribute="trailing" id="Vki-EQ-tlC"/>
<constraint firstItem="Bin-ck-UaW" firstAttribute="centerY" secondItem="Fh7-UR-pk9" secondAttribute="centerY" id="tY6-d3-OPg"/>
<constraint firstItem="us6-eT-mpX" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="trr-qE-5pc"/>
<constraint firstAttribute="trailing" secondItem="Bin-ck-UaW" secondAttribute="trailing" constant="20" id="wlR-67-uSk"/>
</constraints>
</tableViewCellContentView>
<constraints>
<constraint firstItem="njF-e1-oar" firstAttribute="bottom" secondItem="us6-eT-mpX" secondAttribute="bottom" id="1Gf-wT-96V"/>
</constraints>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="likeCollectionV" destination="us6-eT-mpX" id="k6b-s6-UaY"/>
</connections>
<point key="canvasLocation" x="93.478260869565219" y="198.54910714285714"/>
</tableViewCell>
</objects>
</document>

View File

@@ -0,0 +1,30 @@
//
// ASDetailTableViewCell.swift
// appstore
//
// Created by admin on 2019/12/3.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetailTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
//
// override func layoutSubviews() {
// super.layoutSubviews()
// print("\(self.bounds)")
// }
}

View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="199" id="KGk-i7-Jjw" customClass="ASDetailTableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="513" height="199"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="513" height="199"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="三国演绎" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="App-Oa-eBd">
<rect key="frame" x="120" y="20" width="82" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="guazhac" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bSm-fo-Cem">
<rect key="frame" x="120" y="45" width="66" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.5" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F5B-b1-Fkz">
<rect key="frame" x="20" y="140" width="30" height="23"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100万个好评" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r7e-rD-Ju5">
<rect key="frame" x="20" y="169" width="70" height="15"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" systemColor="systemGrayColor" red="0.5568627451" green="0.5568627451" blue="0.57647058819999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PU8-EC-bFC">
<rect key="frame" x="120" y="80" width="60" height="30"/>
<color key="backgroundColor" systemColor="systemBlueColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="hAN-GJ-3oj"/>
<constraint firstAttribute="height" constant="30" id="leq-MR-eWY"/>
</constraints>
<state key="normal" title="打开">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="15"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="daG-Jk-lTI">
<rect key="frame" x="20" y="20" width="90" height="90"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="90" id="GnB-NW-S8e"/>
<constraint firstAttribute="height" constant="90" id="t93-VH-JL3"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="POV-in-pru">
<rect key="frame" x="463" y="80" width="30" height="30"/>
<color key="backgroundColor" systemColor="systemBlueColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="4nr-xs-IWF"/>
<constraint firstAttribute="height" constant="30" id="AH9-wq-9Qg"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<state key="normal" title="···">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="15"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="#2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fyi-5G-CHD">
<rect key="frame" x="379" y="140" width="24" height="23"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="17+" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VCD-J9-zCs">
<rect key="frame" x="460" y="140" width="33" height="23"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="社交" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EFf-oM-O7k">
<rect key="frame" x="378.5" y="169" width="25" height="15"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" systemColor="systemGrayColor" red="0.5568627451" green="0.5568627451" blue="0.57647058819999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="年龄" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x1o-QZ-WUY">
<rect key="frame" x="464" y="169.5" width="25" height="14.5"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" systemColor="systemGrayColor" red="0.5568627451" green="0.5568627451" blue="0.57647058819999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="EvD-bK-9mM">
<rect key="frame" x="60" y="141.5" width="20" height="20"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="4cD-WK-pfm"/>
<constraint firstAttribute="width" constant="20" id="vj7-4h-dsx"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="sqw-P2-MTY">
<rect key="frame" x="83" y="141.5" width="20" height="20"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="qMv-o0-dkw"/>
<constraint firstAttribute="height" constant="20" id="tc5-rc-G6q"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="laI-gD-EU3">
<rect key="frame" x="106" y="141.5" width="20" height="20"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="iQy-OY-NoJ"/>
<constraint firstAttribute="width" constant="20" id="ovL-hc-a0t"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="CEL-Cb-G16">
<rect key="frame" x="129" y="141.5" width="20" height="20"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="evf-eU-Z5R"/>
<constraint firstAttribute="width" constant="20" id="jak-uz-cIo"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.lefthalf.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="YLk-Gu-6fS">
<rect key="frame" x="152" y="141.5" width="20" height="20"/>
<color key="tintColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="Cu8-4H-irr"/>
<constraint firstAttribute="height" constant="20" id="dwz-kU-Bcn"/>
</constraints>
</imageView>
</subviews>
<constraints>
<constraint firstItem="YLk-Gu-6fS" firstAttribute="centerY" secondItem="CEL-Cb-G16" secondAttribute="centerY" id="2xr-6A-KOt"/>
<constraint firstItem="laI-gD-EU3" firstAttribute="centerY" secondItem="sqw-P2-MTY" secondAttribute="centerY" id="44o-kf-hiL"/>
<constraint firstItem="VCD-J9-zCs" firstAttribute="centerY" secondItem="fyi-5G-CHD" secondAttribute="centerY" id="4RV-NE-dKR"/>
<constraint firstItem="CEL-Cb-G16" firstAttribute="centerY" secondItem="laI-gD-EU3" secondAttribute="centerY" id="5Bi-7x-cbJ"/>
<constraint firstItem="x1o-QZ-WUY" firstAttribute="centerY" secondItem="EFf-oM-O7k" secondAttribute="centerY" id="6hN-V2-cfU"/>
<constraint firstItem="EvD-bK-9mM" firstAttribute="leading" secondItem="F5B-b1-Fkz" secondAttribute="trailing" constant="10" id="9an-wv-d9p"/>
<constraint firstItem="EvD-bK-9mM" firstAttribute="centerY" secondItem="F5B-b1-Fkz" secondAttribute="centerY" id="ILT-Rk-7zW"/>
<constraint firstItem="EFf-oM-O7k" firstAttribute="centerX" secondItem="fyi-5G-CHD" secondAttribute="centerX" id="LYf-MG-ybw"/>
<constraint firstItem="r7e-rD-Ju5" firstAttribute="leading" secondItem="F5B-b1-Fkz" secondAttribute="leading" id="QTA-7B-8oc"/>
<constraint firstItem="VCD-J9-zCs" firstAttribute="trailing" secondItem="POV-in-pru" secondAttribute="trailing" id="RWp-5B-tMk"/>
<constraint firstItem="App-Oa-eBd" firstAttribute="leading" secondItem="daG-Jk-lTI" secondAttribute="trailing" constant="10" id="TmY-MM-pQ5"/>
<constraint firstItem="CEL-Cb-G16" firstAttribute="leading" secondItem="laI-gD-EU3" secondAttribute="trailing" constant="3" id="Tvb-yb-CNq"/>
<constraint firstItem="F5B-b1-Fkz" firstAttribute="leading" secondItem="daG-Jk-lTI" secondAttribute="leading" id="V07-rk-y3a"/>
<constraint firstItem="bSm-fo-Cem" firstAttribute="leading" secondItem="App-Oa-eBd" secondAttribute="leading" id="Vpw-0H-Ipo"/>
<constraint firstItem="App-Oa-eBd" firstAttribute="top" secondItem="daG-Jk-lTI" secondAttribute="top" id="Wto-gj-zEs"/>
<constraint firstItem="laI-gD-EU3" firstAttribute="leading" secondItem="sqw-P2-MTY" secondAttribute="trailing" constant="3" id="ZB9-Eg-h5h"/>
<constraint firstItem="x1o-QZ-WUY" firstAttribute="centerX" secondItem="VCD-J9-zCs" secondAttribute="centerX" id="blU-Zc-4EL"/>
<constraint firstItem="PU8-EC-bFC" firstAttribute="leading" secondItem="App-Oa-eBd" secondAttribute="leading" id="dbE-v0-2Yz"/>
<constraint firstItem="EFf-oM-O7k" firstAttribute="top" secondItem="fyi-5G-CHD" secondAttribute="bottom" constant="6" id="f99-F1-pqK"/>
<constraint firstItem="POV-in-pru" firstAttribute="centerY" secondItem="PU8-EC-bFC" secondAttribute="centerY" id="jI2-vf-Bgl"/>
<constraint firstItem="r7e-rD-Ju5" firstAttribute="top" secondItem="F5B-b1-Fkz" secondAttribute="bottom" constant="6" id="kFm-Ve-E9a"/>
<constraint firstItem="PU8-EC-bFC" firstAttribute="bottom" secondItem="daG-Jk-lTI" secondAttribute="bottom" id="lui-Sh-DSM"/>
<constraint firstItem="F5B-b1-Fkz" firstAttribute="top" secondItem="daG-Jk-lTI" secondAttribute="bottom" constant="30" id="ns2-qT-4Ml"/>
<constraint firstItem="YLk-Gu-6fS" firstAttribute="leading" secondItem="CEL-Cb-G16" secondAttribute="trailing" constant="3" id="u25-il-FV7"/>
<constraint firstItem="fyi-5G-CHD" firstAttribute="centerY" secondItem="F5B-b1-Fkz" secondAttribute="centerY" id="uSO-hg-44U"/>
<constraint firstItem="sqw-P2-MTY" firstAttribute="leading" secondItem="EvD-bK-9mM" secondAttribute="trailing" constant="3" id="vJy-fw-yVj"/>
<constraint firstItem="sqw-P2-MTY" firstAttribute="centerY" secondItem="EvD-bK-9mM" secondAttribute="centerY" id="xzq-pQ-ZYb"/>
<constraint firstItem="VCD-J9-zCs" firstAttribute="leading" secondItem="fyi-5G-CHD" secondAttribute="trailing" constant="57" id="yLG-dP-b9l"/>
<constraint firstItem="bSm-fo-Cem" firstAttribute="top" secondItem="App-Oa-eBd" secondAttribute="bottom" constant="1" id="yyw-qY-sMu"/>
<constraint firstAttribute="trailing" secondItem="POV-in-pru" secondAttribute="trailing" constant="20" id="zqI-4c-Ur5"/>
</constraints>
</tableViewCellContentView>
<constraints>
<constraint firstItem="daG-Jk-lTI" firstAttribute="top" secondItem="njF-e1-oar" secondAttribute="top" constant="20" id="hYG-D0-7MN"/>
<constraint firstItem="daG-Jk-lTI" firstAttribute="leading" secondItem="njF-e1-oar" secondAttribute="leading" constant="20" id="qlJ-Fa-02N"/>
</constraints>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<point key="canvasLocation" x="29.600000000000001" y="49.925037481259373"/>
</tableViewCell>
</objects>
<resources>
<image name="star.fill" catalog="system" width="64" height="58"/>
<image name="star.lefthalf.fill" catalog="system" width="64" height="58"/>
</resources>
</document>

View File

@@ -0,0 +1,34 @@
//
// ASDetail2CollectionViewCell.swift
// appstore
//
// Created by admin on 2019/12/4.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail_2CollectionViewCell: UICollectionViewCell {
var imageV: UIImageView!
override init(frame: CGRect) {
super.init(frame: frame)
imageV = UIImageView(frame:self.bounds)
imageV.backgroundColor = COMMONCOLOR
imageV.layer.cornerRadius = 10
imageV.layer.masksToBounds = true
addSubview(imageV)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
print("\(NSStringFromCGRect(self.frame))")
}
}

View File

@@ -0,0 +1,19 @@
//
// ASDetail3CollectionViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail_3CollectionViewCell: UICollectionViewCell {
@IBOutlet weak var contentLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
}

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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="ASDetail_3CollectionViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="383" height="193"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="383" height="193"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="关于今年过年啥时候放假的若干问题" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TqW-7i-Em7">
<rect key="frame" x="20" y="20" width="245" height="18"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="元旦" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DYA-ap-Cuf">
<rect key="frame" x="328" y="18.5" width="35" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="6RW-gy-Iw7">
<rect key="frame" x="20" y="46" width="20" height="20"/>
<color key="tintColor" systemColor="systemOrangeColor" red="1" green="0.58431372550000005" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="kwo-Vn-AJ6"/>
<constraint firstAttribute="width" constant="20" id="zOp-0E-VG1"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="VoN-3M-hzu">
<rect key="frame" x="45" y="46" width="20" height="20"/>
<color key="tintColor" systemColor="systemOrangeColor" red="1" green="0.58431372550000005" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="12g-j1-LJS"/>
<constraint firstAttribute="width" constant="20" id="IIq-rH-S2W"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="CfB-Mx-NXM">
<rect key="frame" x="70" y="46" width="20" height="20"/>
<color key="tintColor" systemColor="systemOrangeColor" red="1" green="0.58431372550000005" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="Xxr-0D-RYv"/>
<constraint firstAttribute="height" constant="20" id="Yoh-Gg-k2x"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="8kB-mf-NyO">
<rect key="frame" x="95" y="46" width="20" height="20"/>
<color key="tintColor" systemColor="systemOrangeColor" red="1" green="0.58431372550000005" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="GjG-dd-yL5"/>
<constraint firstAttribute="width" constant="20" id="mFh-Ku-qe5"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="star.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="srz-6k-fTK">
<rect key="frame" x="120" y="46" width="20" height="20"/>
<color key="tintColor" systemColor="systemOrangeColor" red="1" green="0.58431372550000005" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="5uV-tb-N41"/>
<constraint firstAttribute="width" constant="20" id="CEW-7N-U19"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="孟德" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P3D-dr-lwS">
<rect key="frame" x="328" y="45.5" width="35" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bTC-6J-bxI">
<rect key="frame" x="20" y="85" width="343" height="434.5"/>
<string key="text">各省、自治区、直辖市人民政府,国务院各部委、各直属机构:
经国务院批准现将2020年元旦、春节、清明节、劳动节、端午节、国庆节和中秋节放假调休日期的具体安排通知如下。
一、元旦2020年1月1日放假共1天。
二、春节1月24日至30日放假调休共7天。1月19日星期日、2月1日星期六上班。
三、清明节4月4日至6日放假调休共3天。
四、劳动节5月1日至5日放假调休共5天。4月26日星期日、5月9日星期六上班。
五、端午节6月25日至27日放假调休共3天。6月28日星期日上班。
六、国庆节、中秋节10月1日至8日放假调休共8天。9月27日星期日、10月10日星期六上班。
节假日期间,各地区、各部门要妥善安排好值班和安全、保卫等工作,遇有重大突发事件,要按规定及时报告并妥善处置,确保人民群众祥和平安度过节日假期</string>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</view>
<constraints>
<constraint firstItem="ZTg-uK-7eu" firstAttribute="trailing" secondItem="bTC-6J-bxI" secondAttribute="trailing" constant="20" id="1uA-Ny-lTj"/>
<constraint firstItem="TqW-7i-Em7" firstAttribute="leading" secondItem="ZTg-uK-7eu" secondAttribute="leading" constant="20" id="5Kx-6M-Gp6"/>
<constraint firstItem="srz-6k-fTK" firstAttribute="centerY" secondItem="8kB-mf-NyO" secondAttribute="centerY" id="6bw-VD-GXB"/>
<constraint firstItem="DYA-ap-Cuf" firstAttribute="centerY" secondItem="TqW-7i-Em7" secondAttribute="centerY" id="8Bg-E3-dpR"/>
<constraint firstItem="ZTg-uK-7eu" firstAttribute="trailing" secondItem="DYA-ap-Cuf" secondAttribute="trailing" constant="20" id="Cms-XE-hoA"/>
<constraint firstItem="bTC-6J-bxI" firstAttribute="top" secondItem="VoN-3M-hzu" secondAttribute="bottom" constant="19" id="Hbs-X5-j8Y"/>
<constraint firstItem="8kB-mf-NyO" firstAttribute="leading" secondItem="CfB-Mx-NXM" secondAttribute="trailing" constant="5" id="IEU-bU-1p0"/>
<constraint firstItem="P3D-dr-lwS" firstAttribute="centerY" secondItem="srz-6k-fTK" secondAttribute="centerY" id="QxH-FX-Gre"/>
<constraint firstItem="CfB-Mx-NXM" firstAttribute="centerY" secondItem="VoN-3M-hzu" secondAttribute="centerY" id="Rqx-Fb-d4t"/>
<constraint firstItem="P3D-dr-lwS" firstAttribute="trailing" secondItem="DYA-ap-Cuf" secondAttribute="trailing" id="T3N-TN-7fa"/>
<constraint firstItem="bTC-6J-bxI" firstAttribute="leading" secondItem="TqW-7i-Em7" secondAttribute="leading" id="UUw-pZ-aeD"/>
<constraint firstItem="TqW-7i-Em7" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="20" id="fcX-y1-mS0"/>
<constraint firstItem="VoN-3M-hzu" firstAttribute="leading" secondItem="6RW-gy-Iw7" secondAttribute="trailing" constant="5" id="h1z-eU-x8O"/>
<constraint firstItem="6RW-gy-Iw7" firstAttribute="leading" secondItem="TqW-7i-Em7" secondAttribute="leading" id="hCW-Tx-iv4"/>
<constraint firstItem="VoN-3M-hzu" firstAttribute="centerY" secondItem="6RW-gy-Iw7" secondAttribute="centerY" id="k4r-h4-kbc"/>
<constraint firstItem="srz-6k-fTK" firstAttribute="leading" secondItem="8kB-mf-NyO" secondAttribute="trailing" constant="5" id="lPo-iI-d5P"/>
<constraint firstItem="8kB-mf-NyO" firstAttribute="centerY" secondItem="CfB-Mx-NXM" secondAttribute="centerY" id="npO-3L-QgH"/>
<constraint firstItem="CfB-Mx-NXM" firstAttribute="leading" secondItem="VoN-3M-hzu" secondAttribute="trailing" constant="5" id="qAo-M6-LEa"/>
<constraint firstItem="6RW-gy-Iw7" firstAttribute="top" secondItem="TqW-7i-Em7" secondAttribute="bottom" constant="8" id="uch-Yh-hV5"/>
<constraint firstItem="TqW-7i-Em7" firstAttribute="leading" secondItem="ZTg-uK-7eu" secondAttribute="leading" constant="20" id="wOS-ZQ-IIE"/>
</constraints>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<size key="customSize" width="383" height="193"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<outlet property="contentLabel" destination="bTC-6J-bxI" id="0no-Lh-8de"/>
</connections>
<point key="canvasLocation" x="-5.0724637681159424" y="125.55803571428571"/>
</collectionViewCell>
</objects>
<resources>
<image name="star.fill" catalog="system" width="64" height="58"/>
</resources>
</document>

View File

@@ -0,0 +1,58 @@
//
// ASDetail_6TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/5.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail_6TableViewCell: UITableViewCell {
@IBOutlet weak var cellTitle: UILabel!
@IBOutlet weak var cellContent: UILabel!
@IBOutlet weak var cellImage: UIImageView!
@IBOutlet weak var contentRightConst: NSLayoutConstraint!
var ary: [String] = ["供应商","大小","类别","兼容性","位置","语言","年龄分级","App内购买项目","版权","开发者网站","隐私政策"]
var ary1: [String] = ["三国志通俗演义","100 MB","逸致","可在此iPhone上使用","会使用位置","简体中文","17+","","Copyright ©️ 2018 - 2019 CB_MD","",""]
var ary2: [String] = ["chevron.down","","","chevron.down","chevron.down","chevron.down","chevron.down","chevron.down","chevron.down","safari","hand"]
//safari hand.raised.fill chevron.down
public var cellIndex: Int? {
didSet {
cellTitle.text = ary[cellIndex!]
cellContent.text = ary1[cellIndex!]
cellImage.image = UIImage(named: ary2[cellIndex!])
if cellIndex! == 1 || cellIndex! == 2 {
contentRightConst.constant = 10
} else {
contentRightConst.constant = 35
}
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
}

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="96" id="KGk-i7-Jjw" customClass="ASDetail_6TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="343" height="96"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="343" height="96"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="供应商" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uFl-XM-UEa">
<rect key="frame" x="20" y="13" width="46" height="18"/>
<constraints>
<constraint firstAttribute="height" constant="18" id="3gC-2z-Rgc"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WCE-Sh-N8S">
<rect key="frame" x="308" y="22" width="0.0" height="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fRN-Ik-Epf">
<rect key="frame" x="317" y="12" width="15" height="20"/>
<color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="15" id="4Az-lx-aUn"/>
<constraint firstAttribute="height" constant="20" id="auY-0M-1vH"/>
</constraints>
</imageView>
</subviews>
<constraints>
<constraint firstItem="WCE-Sh-N8S" firstAttribute="centerY" secondItem="uFl-XM-UEa" secondAttribute="centerY" id="9lg-0d-hOx"/>
<constraint firstItem="uFl-XM-UEa" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="9us-3v-SlL"/>
<constraint firstAttribute="trailing" secondItem="WCE-Sh-N8S" secondAttribute="trailing" constant="35" id="Bqt-Qt-eAk"/>
<constraint firstItem="uFl-XM-UEa" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="13" id="LgT-p5-KnA"/>
<constraint firstAttribute="trailing" secondItem="fRN-Ik-Epf" secondAttribute="trailing" constant="11" id="RjY-I8-hwa"/>
<constraint firstItem="fRN-Ik-Epf" firstAttribute="centerY" secondItem="uFl-XM-UEa" secondAttribute="centerY" id="aOj-By-B7Y"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="cellContent" destination="WCE-Sh-N8S" id="r9o-cL-RPJ"/>
<outlet property="cellImage" destination="fRN-Ik-Epf" id="fFO-YG-m7Q"/>
<outlet property="cellTitle" destination="uFl-XM-UEa" id="QDC-VE-r0x"/>
<outlet property="contentRightConst" destination="Bqt-Qt-eAk" id="Hif-5N-NhH"/>
</connections>
<point key="canvasLocation" x="35.507246376811594" y="136.60714285714286"/>
</tableViewCell>
</objects>
</document>

View File

@@ -0,0 +1,52 @@
//
// ASDetail_7TableViewCell.swift
// appstore
//
// Created by admin on 2019/12/6.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASDetail_7TableViewCell: UITableViewCell {
@IBOutlet weak var cellTitle: UILabel!
@IBOutlet weak var cellContent: UILabel!
@IBOutlet weak var cellImage: UIImageView!
public var cellIndex: Int? {
didSet {
switch cellIndex! {
case 0:
cellTitle.text = "Siri"
cellContent.text = "通过Siri来使用此App帮你处理各项事务"
case 1:
cellTitle.text = "钱包"
cellContent.text = "集中管理所有凭证最简单的方式"
default:
cellTitle.text = "家人共享"
cellContent.text = "启用“家人共享”后最多六位家庭成员可以使用此App。家庭成员不能共享App内购买。"
}
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="97" id="KGk-i7-Jjw" customClass="ASDetail_7TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="346" height="97"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="346" height="97"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Siri" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XWn-bM-5gl">
<rect key="frame" x="87" y="12" width="29" height="22"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="7xY-e9-nw6">
<rect key="frame" x="20" y="23.5" width="50" height="50"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="26e-p5-rza"/>
<constraint firstAttribute="width" constant="50" id="fKx-23-SP9"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="09x-OM-Ovt">
<rect key="frame" x="87" y="41" width="229" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="09x-OM-Ovt" firstAttribute="top" secondItem="XWn-bM-5gl" secondAttribute="bottom" constant="7" id="EFZ-jk-clk"/>
<constraint firstItem="09x-OM-Ovt" firstAttribute="leading" secondItem="XWn-bM-5gl" secondAttribute="leading" id="Ffa-97-cp9"/>
<constraint firstItem="7xY-e9-nw6" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="MTq-di-Omy"/>
<constraint firstItem="7xY-e9-nw6" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="PAa-kk-dfN"/>
<constraint firstItem="7xY-e9-nw6" firstAttribute="top" secondItem="XWn-bM-5gl" secondAttribute="bottom" constant="-10.5" id="YPl-k7-UuH"/>
<constraint firstAttribute="trailing" secondItem="09x-OM-Ovt" secondAttribute="trailing" constant="30" id="kol-KM-4kl"/>
<constraint firstItem="XWn-bM-5gl" firstAttribute="leading" secondItem="7xY-e9-nw6" secondAttribute="trailing" constant="17" id="oK2-Du-MgD"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="cellContent" destination="09x-OM-Ovt" id="tX0-qG-MMP"/>
<outlet property="cellImage" destination="7xY-e9-nw6" id="TZh-a2-tk2"/>
<outlet property="cellTitle" destination="XWn-bM-5gl" id="B5r-9J-KKQ"/>
</connections>
<point key="canvasLocation" x="-3612" y="183"/>
</tableViewCell>
</objects>
</document>

View File

@@ -1,18 +1,18 @@
//
// ASHeadReusableView.swift
// ASDetail_8CollectionViewCell.swift
// appstore
//
// Created by guazhac on 2019/1/28.
// Created by admin on 2019/12/6.
// Copyright © 2019 st. All rights reserved.
//
import UIKit
class ASHeadReusableView: UICollectionReusableView {
class ASDetail_8CollectionViewCell: UICollectionViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
}

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<capability name="collection view cell content view" 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"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="yt6-cu-IJw" customClass="ASDetail_8CollectionViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="393" height="203"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<collectionViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="udh-AI-aLg">
<rect key="frame" x="0.0" y="0.0" width="393" height="203"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="srJ-q7-7Ky">
<rect key="frame" x="0.0" y="20" width="60" height="60"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="kvz-iq-s9p"/>
<constraint firstAttribute="width" constant="60" id="rKj-OA-pNK"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="QQ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MCh-EB-Rpl">
<rect key="frame" x="70" y="26" width="25.5" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="社交" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uXo-pC-Qxb">
<rect key="frame" x="70" y="52" width="27" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="App内购买" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bjJ-at-7Tf">
<rect key="frame" x="335.5" y="66" width="45.5" height="11"/>
<fontDescription key="fontDescription" type="system" pointSize="9"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="buN-my-uWN">
<rect key="frame" x="323" y="32.5" width="70" height="25"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="70" id="U8h-9v-NeM"/>
<constraint firstAttribute="height" constant="25" id="koS-Gf-Dci"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="获取"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z6s-B4-5Ti">
<rect key="frame" x="70" y="88" width="323" height="0.5"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="WKS-ew-x7S"/>
</constraints>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="OK3-3B-0Rl">
<rect key="frame" x="0.0" y="98.5" width="60" height="60"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="7UK-7T-nDv"/>
<constraint firstAttribute="width" constant="60" id="U1x-MR-p3y"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
</userDefinedRuntimeAttributes>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="QQ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4YD-d3-HXc">
<rect key="frame" x="70" y="105.5" width="25.5" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="社交" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Pd7-rL-8CN">
<rect key="frame" x="70" y="131.5" width="27" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="App内购买" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Sf-50-JQv">
<rect key="frame" x="335.5" y="144.5" width="45.5" height="11"/>
<fontDescription key="fontDescription" type="system" pointSize="9"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZKc-gT-XUC">
<rect key="frame" x="323" y="111" width="70" height="25"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="70" id="DiK-Ti-eNM"/>
<constraint firstAttribute="height" constant="25" id="vQF-eS-ib6"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="获取"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</button>
</subviews>
<constraints>
<constraint firstItem="OK3-3B-0Rl" firstAttribute="leading" secondItem="srJ-q7-7Ky" secondAttribute="leading" id="21n-0H-KPC"/>
<constraint firstItem="Pd7-rL-8CN" firstAttribute="top" secondItem="4YD-d3-HXc" secondAttribute="bottom" constant="5" id="6Iy-Wz-aLW"/>
<constraint firstItem="bjJ-at-7Tf" firstAttribute="bottom" secondItem="srJ-q7-7Ky" secondAttribute="bottom" constant="-3" id="7gw-z0-ddm"/>
<constraint firstItem="uXo-pC-Qxb" firstAttribute="leading" secondItem="MCh-EB-Rpl" secondAttribute="leading" id="9jt-Wu-A8G"/>
<constraint firstItem="5Sf-50-JQv" firstAttribute="bottom" secondItem="OK3-3B-0Rl" secondAttribute="bottom" constant="-3" id="Glg-8i-8SV"/>
<constraint firstItem="4YD-d3-HXc" firstAttribute="leading" secondItem="OK3-3B-0Rl" secondAttribute="trailing" constant="10" id="Hmg-em-h14"/>
<constraint firstItem="ZKc-gT-XUC" firstAttribute="leading" secondItem="buN-my-uWN" secondAttribute="leading" id="OMU-jz-Ici"/>
<constraint firstItem="Z6s-B4-5Ti" firstAttribute="trailing" secondItem="buN-my-uWN" secondAttribute="trailing" id="QdS-tz-ZON"/>
<constraint firstItem="ZKc-gT-XUC" firstAttribute="centerY" secondItem="OK3-3B-0Rl" secondAttribute="centerY" constant="-5" id="Roc-jP-1ZX"/>
<constraint firstItem="MCh-EB-Rpl" firstAttribute="leading" secondItem="srJ-q7-7Ky" secondAttribute="trailing" constant="10" id="SyK-72-Blh"/>
<constraint firstItem="Z6s-B4-5Ti" firstAttribute="leading" secondItem="MCh-EB-Rpl" secondAttribute="leading" id="ahH-Kc-kx2"/>
<constraint firstItem="bjJ-at-7Tf" firstAttribute="centerX" secondItem="buN-my-uWN" secondAttribute="centerX" id="bAG-Ye-6OV"/>
<constraint firstItem="srJ-q7-7Ky" firstAttribute="top" secondItem="udh-AI-aLg" secondAttribute="top" constant="20" id="cGf-4s-p61"/>
<constraint firstItem="5Sf-50-JQv" firstAttribute="centerX" secondItem="ZKc-gT-XUC" secondAttribute="centerX" id="eJ5-Y7-Xgm"/>
<constraint firstItem="Z6s-B4-5Ti" firstAttribute="top" secondItem="srJ-q7-7Ky" secondAttribute="bottom" constant="8" id="eMi-Zn-JCv"/>
<constraint firstItem="Pd7-rL-8CN" firstAttribute="leading" secondItem="4YD-d3-HXc" secondAttribute="leading" id="nKi-RS-i4L"/>
<constraint firstItem="OK3-3B-0Rl" firstAttribute="top" secondItem="Z6s-B4-5Ti" secondAttribute="bottom" constant="10" id="qAg-Ss-K7J"/>
<constraint firstItem="4YD-d3-HXc" firstAttribute="top" secondItem="Z6s-B4-5Ti" secondAttribute="bottom" constant="17" id="rTW-8g-fSa"/>
<constraint firstAttribute="trailing" secondItem="buN-my-uWN" secondAttribute="trailing" id="s6s-ix-4dh"/>
<constraint firstItem="MCh-EB-Rpl" firstAttribute="top" secondItem="udh-AI-aLg" secondAttribute="top" constant="26" id="tbN-GA-rI2"/>
<constraint firstItem="srJ-q7-7Ky" firstAttribute="leading" secondItem="udh-AI-aLg" secondAttribute="leading" id="yqz-pR-QeE"/>
<constraint firstItem="buN-my-uWN" firstAttribute="centerY" secondItem="srJ-q7-7Ky" secondAttribute="centerY" constant="-5" id="z85-IR-GJN"/>
<constraint firstItem="uXo-pC-Qxb" firstAttribute="top" secondItem="MCh-EB-Rpl" secondAttribute="bottom" constant="5" id="zvq-X4-JEu"/>
</constraints>
</collectionViewCellContentView>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<size key="customSize" width="393" height="203"/>
<point key="canvasLocation" x="332.60869565217394" y="132.25446428571428"/>
</collectionViewCell>
</objects>
</document>

View File

@@ -17,12 +17,12 @@ class ASGame1TableViewCell: UITableViewCell {
super.init(style: style, reuseIdentifier: reuseIdentifier)
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: screenWidth - 60, height: 480)
layout.itemSize = CGSize(width: SCREENWIDTH - 60, height: 480)
layout.minimumLineSpacing = 10
layout.sectionInset = UIEdgeInsetsMake(0, 30, 0, 30)
layout.scrollDirection = .horizontal
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: 480), collectionViewLayout: layout)
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: 480), collectionViewLayout: layout)
collectionV.delegate = self
collectionV.dataSource = self
collectionV.backgroundColor = .clear

View File

@@ -16,17 +16,17 @@ class ASGame2TableViewCell: UITableViewCell {
super.init(style: style, reuseIdentifier: reuseIdentifier)
let headView = UIView(frame: CGRect(x: 0, y: 10, width: screenWidth, height: 30))
let headView = UIView(frame: CGRect(x: 0, y: 10, width: SCREENWIDTH, height: 30))
let headLabel = UILabel(frame: CGRect(x: 30, y: 0, width: 230, height: 30))
headLabel.text = "今天是腊月廿三,小年"
headLabel.font = UIFont.boldSystemFont(ofSize: 20)
headView.addSubview(headLabel)
let allLabel = UILabel(frame: CGRect(x: screenWidth - 85, y: 0, width: 60, height: 30))
let allLabel = UILabel(frame: CGRect(x: SCREENWIDTH - 85, y: 0, width: 60, height: 30))
allLabel.text = "查看全部"
allLabel.font = UIFont.systemFont(ofSize: 14)
allLabel.textColor = blueColor
allLabel.textColor = BLUECOLOR
headView.addSubview(headLabel)
headView.addSubview(allLabel)
@@ -40,7 +40,7 @@ class ASGame2TableViewCell: UITableViewCell {
layout.sectionInset = UIEdgeInsetsMake(0, 30, 0, 30)
layout.scrollDirection = .horizontal
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: 400), collectionViewLayout: layout)
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: 400), collectionViewLayout: layout)
collectionV.delegate = self
collectionV.dataSource = self
collectionV.backgroundColor = .clear

View File

@@ -1,22 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="450" id="KGk-i7-Jjw" customClass="ASGame3TableViewCell" customModule="appstore" customModuleProvider="target">
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="450" id="KGk-i7-Jjw" customClass="ASGame3TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="373" height="450"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="373" height="449.5"/>
<rect key="frame" x="0.0" y="0.0" width="373" height="450"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今天吃什么" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4rv-tI-yEf">

View File

@@ -39,7 +39,7 @@ extension ASGame4TableViewCell: UITableViewDelegate, UITableViewDataSource {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
}
cell?.textLabel?.text = ["蒸煮油煎炸炒熬", "蒸油煮煎炸炒熬", "蒸煎煮油炸炒熬", "蒸炸煮油煎炒熬", "蒸炒煮油煎炸熬", "蒸煮熬油煎炸炒"][indexPath.row]
cell?.textLabel?.textColor = blueColor
cell?.textLabel?.textColor = BLUECOLOR
cell?.imageView?.image = UIImage(named: "火锅")
return cell!

View File

@@ -39,7 +39,7 @@ class ASGame5TableViewCell: UITableViewCell {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
}
cell?.textLabel?.text = ["绑定支付宝、微信支付或银联卡", "App Store 家长指南", "进一步了解App内购买项目", "儿童类App和游戏", "关于个性化", "轻松上手 App Store"][indexPath.row]
cell?.textLabel?.textColor = blueColor
cell?.textLabel?.textColor = BLUECOLOR
cell?.imageView?.image = UIImage(named: "火锅")
return cell!

View File

@@ -8,8 +8,14 @@
import UIKit
//item
protocol ASGameCollectionViewCellDelegate: class {
func didClickASGameCollectionViewCellItem()
}
class ASGameTableViewCell: UITableViewCell {
weak var delegate: ASGameCollectionViewCellDelegate?
var collectionV: UICollectionView!
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
@@ -17,12 +23,12 @@ class ASGameTableViewCell: UITableViewCell {
super.init(style: style, reuseIdentifier: reuseIdentifier)
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: screenWidth - 60, height: 480)
layout.itemSize = CGSize(width: SCREENWIDTH - 60, height: 480)
layout.minimumLineSpacing = 10
layout.sectionInset = UIEdgeInsetsMake(0, 30, 0, 30)
layout.scrollDirection = .horizontal
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: 480), collectionViewLayout: layout)
collectionV = UICollectionView(frame: CGRect(x: 0, y: 0, width: SCREENWIDTH, height: 480), collectionViewLayout: layout)
collectionV.delegate = self
collectionV.dataSource = self
collectionV.backgroundColor = .clear
@@ -50,5 +56,11 @@ extension ASGameTableViewCell: UICollectionViewDelegate, UICollectionViewDataSou
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
delegate?.didClickASGameCollectionViewCellItem()
}
}

View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<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"/>
<collectionReusableView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="U6b-Vx-4bR">
<rect key="frame" x="0.0" y="0.0" width="320" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="avd-SA-oLb">
<rect key="frame" x="0.0" y="0.0" width="320" height="50"/>
<color key="backgroundColor" red="0.95201760530000001" green="0.32231462" blue="0.43167847390000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</subviews>
<constraints>
<constraint firstItem="avd-SA-oLb" firstAttribute="top" secondItem="VXr-Tz-HHm" secondAttribute="top" id="NTQ-G6-Glc"/>
<constraint firstItem="avd-SA-oLb" firstAttribute="leading" secondItem="VXr-Tz-HHm" secondAttribute="leading" id="U8U-T7-JV5"/>
<constraint firstItem="avd-SA-oLb" firstAttribute="bottom" secondItem="VXr-Tz-HHm" secondAttribute="bottom" id="lEd-xf-wh1"/>
<constraint firstItem="VXr-Tz-HHm" firstAttribute="trailing" secondItem="avd-SA-oLb" secondAttribute="trailing" id="zb6-wK-47X"/>
</constraints>
<viewLayoutGuide key="safeArea" id="VXr-Tz-HHm"/>
</collectionReusableView>
</objects>
</document>

View File

@@ -13,7 +13,6 @@ class twoTableViewCell: UITableViewCell {
var backV: UIView!
var collectionV: UICollectionView!
var page: Int = 0
var colorAry: [UIColor] = []
var collectionAry: [UICollectionView] = []
var itemClickBlock: (() -> Void)?
@@ -21,8 +20,7 @@ class twoTableViewCell: UITableViewCell {
super.init(style: style, reuseIdentifier: reuseIdentifier)
backV = UIView(frame: CGRect(x: 20, y: 10, width: screenWidth - 40, height: 500))
// backV.backgroundColor = UIColor.white
backV = UIView(frame: CGRect(x: 20, y: 10, width: SCREENWIDTH - 40, height: 500))
backV.backgroundColor = UIColor.init(red: 243/255.0, green: 243/255.0, blue: 243/255.0, alpha: 1)
backV.layer.masksToBounds = true
backV.layer.cornerRadius = 15
@@ -47,7 +45,7 @@ class twoTableViewCell: UITableViewCell {
let cheight = 115
for index in 0...2 {
let randomColor = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
collectionV = UICollectionView(frame: CGRect(x: 0, y: Int(ablabel.frame.maxY) + 20 + index * (cheight + 10), width: Int(backV.frame.size.width ), height: cheight), collectionViewLayout: layout)
collectionV.delegate = self
collectionV.dataSource = self
@@ -58,12 +56,12 @@ class twoTableViewCell: UITableViewCell {
collectionV.isScrollEnabled = false;
backV.addSubview(collectionV)
collectionAry.append(collectionV)
colorAry.append(randomColor)
collectionV.register(UICollectionViewCell.self, forCellWithReuseIdentifier: index.description)
}
let timer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(startAutoScroll), userInfo: nil, repeats: true)
RunLoop.main.add(timer, forMode: .UITrackingRunLoopMode)
RunLoop.main.add(timer, forMode: RunLoopMode.UITrackingRunLoopMode)
}
@@ -97,17 +95,17 @@ class twoTableViewCell: UITableViewCell {
case 0:
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: collectionView.tag.description, for: indexPath)
cell.backgroundColor = colorAry[collectionView.tag]
cell.backgroundColor = UIColor(red: CGFloat(arc4random()%(UInt32)(256 + indexPath.item))/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
cell.layer.cornerRadius = 10
return cell
case 1:
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: collectionView.tag.description, for: indexPath)
cell.backgroundColor = colorAry[collectionView.tag]
cell.backgroundColor = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%(UInt32)(256 + indexPath.item))/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
cell.layer.cornerRadius = 10
return cell
case 2:
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: collectionView.tag.description, for: indexPath)
cell.backgroundColor = colorAry[collectionView.tag]
cell.backgroundColor = UIColor(red: CGFloat(arc4random()%256)/255.0, green: CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%(UInt32)(256 + indexPath.item))/255.0, alpha: 1.0)
cell.layer.cornerRadius = 10
return cell
default:

View File

@@ -1,23 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="150" id="KGk-i7-Jjw" customClass="ASUpdate1TableViewCell" customModule="appstore" customModuleProvider="target">
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="150" id="KGk-i7-Jjw" customClass="ASUpdate1TableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="449" height="150"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="449" height="149.5"/>
<rect key="frame" x="0.0" y="0.0" width="449" height="150"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="1Wr-PJ-usu">

View File

@@ -10,7 +10,7 @@
import UIKit
class ASUpdateTableViewCell: UITableViewCell {
@IBOutlet weak var updateDes: UILabel!
@IBOutlet weak var updateName: UILabel!
override func awakeFromNib() {

View File

@@ -1,22 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<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"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="177" id="KGk-i7-Jjw" customClass="ASUpdateTableViewCell" customModule="appstore" customModuleProvider="target">
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="177" id="KGk-i7-Jjw" customClass="ASUpdateTableViewCell" customModule="AS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="464" height="177"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="464" height="176.5"/>
<rect key="frame" x="0.0" y="0.0" width="464" height="177"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可用更新" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k7A-1X-QEv">
@@ -72,7 +70,7 @@
</userDefinedRuntimeAttributes>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="249" text="update" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IMI-rq-air">
<rect key="frame" x="20" y="132" width="54" height="24.5"/>
<rect key="frame" x="20" y="132" width="54" height="25"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>

BIN
screenshot/.DS_Store vendored Normal file

Binary file not shown.

BIN
screenshot/IMG_1940.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

BIN
screenshot/WechatIMG4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

BIN
screenshot/WechatIMG5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

BIN
screenshot/WechatIMG6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
screenshot/WechatIMG7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
screenshot/WechatIMG8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB