我的第三次提交
521
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite.xcodeproj/project.pbxproj
Normal file
@@ -0,0 +1,521 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1F83EB1F25DF903900C47CC2 /* LoveToWriteApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB1E25DF903900C47CC2 /* LoveToWriteApp.swift */; };
|
||||
1F83EB2125DF903900C47CC2 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB2025DF903900C47CC2 /* ContentView.swift */; };
|
||||
1F83EB2325DF903900C47CC2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB2225DF903900C47CC2 /* Assets.xcassets */; };
|
||||
1F83EB2625DF903900C47CC2 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB2525DF903900C47CC2 /* Preview Assets.xcassets */; };
|
||||
1F83EB3825DFAC0E00C47CC2 /* pen.json in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB3425DFAC0E00C47CC2 /* pen.json */; };
|
||||
1F83EB3925DFAC0E00C47CC2 /* brand.json in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB3525DFAC0E00C47CC2 /* brand.json */; };
|
||||
1F83EB3A25DFAC0E00C47CC2 /* header.json in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB3625DFAC0E00C47CC2 /* header.json */; };
|
||||
1F83EB3B25DFAC0E00C47CC2 /* category.json in Resources */ = {isa = PBXBuildFile; fileRef = 1F83EB3725DFAC0E00C47CC2 /* category.json */; };
|
||||
1F83EB4425DFD9C800C47CC2 /* Constant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB4325DFD9C800C47CC2 /* Constant.swift */; };
|
||||
1F83EB4825DFE7FE00C47CC2 /* FooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB4725DFE7FE00C47CC2 /* FooterView.swift */; };
|
||||
1F83EB4B25E00AC600C47CC2 /* NavigationBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB4A25E00AC600C47CC2 /* NavigationBarView.swift */; };
|
||||
1F83EB4E25E0A0F000C47CC2 /* LogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB4D25E0A0F000C47CC2 /* LogoView.swift */; };
|
||||
1F83EB5125E0EA7B00C47CC2 /* HeaderModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5025E0EA7B00C47CC2 /* HeaderModel.swift */; };
|
||||
1F83EB5425E0EEC500C47CC2 /* CodableBundleExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5325E0EEC500C47CC2 /* CodableBundleExtension.swift */; };
|
||||
1F83EB5725E0F1FC00C47CC2 /* HeaderItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5625E0F1FC00C47CC2 /* HeaderItemView.swift */; };
|
||||
1F83EB5A25E0F99700C47CC2 /* HeaderTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5925E0F99700C47CC2 /* HeaderTabView.swift */; };
|
||||
1F83EB5D25E1140E00C47CC2 /* CategoryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5C25E1140E00C47CC2 /* CategoryModel.swift */; };
|
||||
1F83EB6025E11B3D00C47CC2 /* CategoryItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB5F25E11B3D00C47CC2 /* CategoryItemView.swift */; };
|
||||
1F83EB6325E14CF400C47CC2 /* CategoryGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB6225E14CF400C47CC2 /* CategoryGridView.swift */; };
|
||||
1F83EB6625E1552600C47CC2 /* SectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB6525E1552600C47CC2 /* SectionView.swift */; };
|
||||
1F83EB6B25E1EE3800C47CC2 /* TitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB6A25E1EE3800C47CC2 /* TitleView.swift */; };
|
||||
1F83EB6E25E1F5BA00C47CC2 /* PenModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB6D25E1F5BA00C47CC2 /* PenModel.swift */; };
|
||||
1F83EB7125E1F6FE00C47CC2 /* PenItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB7025E1F6FE00C47CC2 /* PenItemView.swift */; };
|
||||
1F83EB7425E2072E00C47CC2 /* BrandModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB7325E2072E00C47CC2 /* BrandModel.swift */; };
|
||||
1F83EB7725E2089200C47CC2 /* BrandItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB7625E2089200C47CC2 /* BrandItemView.swift */; };
|
||||
1F83EB7A25E2350B00C47CC2 /* BrandGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F83EB7925E2350B00C47CC2 /* BrandGridView.swift */; };
|
||||
1FB1251125E2410C00C5D512 /* PenDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251025E2410C00C5D512 /* PenDetailView.swift */; };
|
||||
1FB1251425E2452C00C5D512 /* NavigationBarDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251325E2452C00C5D512 /* NavigationBarDetailView.swift */; };
|
||||
1FB1251725E247F600C5D512 /* HeaderDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251625E247F600C5D512 /* HeaderDetailView.swift */; };
|
||||
1FB1251A25E2507700C5D512 /* TopPartDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251925E2507700C5D512 /* TopPartDetailView.swift */; };
|
||||
1FB1251D25E2A29500C5D512 /* CustomShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251C25E2A29500C5D512 /* CustomShape.swift */; };
|
||||
1FB1252025E3218100C5D512 /* RatingsSizesDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1251F25E3218100C5D512 /* RatingsSizesDetailView.swift */; };
|
||||
1FB1252325E329D300C5D512 /* QuantityFavouriteDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1252225E329D300C5D512 /* QuantityFavouriteDetailView.swift */; };
|
||||
1FB1252625E3576900C5D512 /* AddToCartDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1252525E3576900C5D512 /* AddToCartDetailView.swift */; };
|
||||
1FB1252925E3757A00C5D512 /* Shop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1252825E3757A00C5D512 /* Shop.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1F83EB1B25DF903900C47CC2 /* LoveToWrite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LoveToWrite.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1F83EB1E25DF903900C47CC2 /* LoveToWriteApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoveToWriteApp.swift; sourceTree = "<group>"; };
|
||||
1F83EB2025DF903900C47CC2 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
|
||||
1F83EB2225DF903900C47CC2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
1F83EB2525DF903900C47CC2 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||
1F83EB2725DF903900C47CC2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
1F83EB3425DFAC0E00C47CC2 /* pen.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pen.json; sourceTree = "<group>"; };
|
||||
1F83EB3525DFAC0E00C47CC2 /* brand.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = brand.json; sourceTree = "<group>"; };
|
||||
1F83EB3625DFAC0E00C47CC2 /* header.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = header.json; sourceTree = "<group>"; };
|
||||
1F83EB3725DFAC0E00C47CC2 /* category.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = category.json; sourceTree = "<group>"; };
|
||||
1F83EB4325DFD9C800C47CC2 /* Constant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constant.swift; sourceTree = "<group>"; };
|
||||
1F83EB4725DFE7FE00C47CC2 /* FooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FooterView.swift; sourceTree = "<group>"; };
|
||||
1F83EB4A25E00AC600C47CC2 /* NavigationBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBarView.swift; sourceTree = "<group>"; };
|
||||
1F83EB4D25E0A0F000C47CC2 /* LogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoView.swift; sourceTree = "<group>"; };
|
||||
1F83EB5025E0EA7B00C47CC2 /* HeaderModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderModel.swift; sourceTree = "<group>"; };
|
||||
1F83EB5325E0EEC500C47CC2 /* CodableBundleExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodableBundleExtension.swift; sourceTree = "<group>"; };
|
||||
1F83EB5625E0F1FC00C47CC2 /* HeaderItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderItemView.swift; sourceTree = "<group>"; };
|
||||
1F83EB5925E0F99700C47CC2 /* HeaderTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderTabView.swift; sourceTree = "<group>"; };
|
||||
1F83EB5C25E1140E00C47CC2 /* CategoryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryModel.swift; sourceTree = "<group>"; };
|
||||
1F83EB5F25E11B3D00C47CC2 /* CategoryItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryItemView.swift; sourceTree = "<group>"; };
|
||||
1F83EB6225E14CF400C47CC2 /* CategoryGridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryGridView.swift; sourceTree = "<group>"; };
|
||||
1F83EB6525E1552600C47CC2 /* SectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionView.swift; sourceTree = "<group>"; };
|
||||
1F83EB6A25E1EE3800C47CC2 /* TitleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleView.swift; sourceTree = "<group>"; };
|
||||
1F83EB6D25E1F5BA00C47CC2 /* PenModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenModel.swift; sourceTree = "<group>"; };
|
||||
1F83EB7025E1F6FE00C47CC2 /* PenItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenItemView.swift; sourceTree = "<group>"; };
|
||||
1F83EB7325E2072E00C47CC2 /* BrandModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrandModel.swift; sourceTree = "<group>"; };
|
||||
1F83EB7625E2089200C47CC2 /* BrandItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrandItemView.swift; sourceTree = "<group>"; };
|
||||
1F83EB7925E2350B00C47CC2 /* BrandGridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrandGridView.swift; sourceTree = "<group>"; };
|
||||
1FB1251025E2410C00C5D512 /* PenDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1251325E2452C00C5D512 /* NavigationBarDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBarDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1251625E247F600C5D512 /* HeaderDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1251925E2507700C5D512 /* TopPartDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TopPartDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1251C25E2A29500C5D512 /* CustomShape.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomShape.swift; sourceTree = "<group>"; };
|
||||
1FB1251F25E3218100C5D512 /* RatingsSizesDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RatingsSizesDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1252225E329D300C5D512 /* QuantityFavouriteDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuantityFavouriteDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1252525E3576900C5D512 /* AddToCartDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddToCartDetailView.swift; sourceTree = "<group>"; };
|
||||
1FB1252825E3757A00C5D512 /* Shop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shop.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1F83EB1825DF903900C47CC2 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1F83EB1225DF903900C47CC2 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB1D25DF903900C47CC2 /* LoveToWrite */,
|
||||
1F83EB1C25DF903900C47CC2 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB1C25DF903900C47CC2 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB1B25DF903900C47CC2 /* LoveToWrite.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB1D25DF903900C47CC2 /* LoveToWrite */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB4225DFD9B800C47CC2 /* Utility */,
|
||||
1F83EB4125DFD9AF00C47CC2 /* Extension */,
|
||||
1F83EB4025DFD9A300C47CC2 /* Model */,
|
||||
1F83EB3325DFABE200C47CC2 /* View */,
|
||||
1F83EB3D25DFAC2500C47CC2 /* Data */,
|
||||
1F83EB3125DFAB6100C47CC2 /* App */,
|
||||
1F83EB2225DF903900C47CC2 /* Assets.xcassets */,
|
||||
1F83EB2725DF903900C47CC2 /* Info.plist */,
|
||||
1F83EB2425DF903900C47CC2 /* Preview Content */,
|
||||
);
|
||||
path = LoveToWrite;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB2425DF903900C47CC2 /* Preview Content */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB2525DF903900C47CC2 /* Preview Assets.xcassets */,
|
||||
);
|
||||
path = "Preview Content";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB3125DFAB6100C47CC2 /* App */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB1E25DF903900C47CC2 /* LoveToWriteApp.swift */,
|
||||
1F83EB2025DF903900C47CC2 /* ContentView.swift */,
|
||||
1FB1251025E2410C00C5D512 /* PenDetailView.swift */,
|
||||
);
|
||||
path = App;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB3325DFABE200C47CC2 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB3F25DFAC3D00C47CC2 /* Detail */,
|
||||
1F83EB3E25DFAC3600C47CC2 /* Home */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB3D25DFAC2500C47CC2 /* Data */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB3525DFAC0E00C47CC2 /* brand.json */,
|
||||
1F83EB3725DFAC0E00C47CC2 /* category.json */,
|
||||
1F83EB3625DFAC0E00C47CC2 /* header.json */,
|
||||
1F83EB3425DFAC0E00C47CC2 /* pen.json */,
|
||||
);
|
||||
path = Data;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB3E25DFAC3600C47CC2 /* Home */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB4725DFE7FE00C47CC2 /* FooterView.swift */,
|
||||
1F83EB4A25E00AC600C47CC2 /* NavigationBarView.swift */,
|
||||
1F83EB4D25E0A0F000C47CC2 /* LogoView.swift */,
|
||||
1F83EB5625E0F1FC00C47CC2 /* HeaderItemView.swift */,
|
||||
1F83EB5925E0F99700C47CC2 /* HeaderTabView.swift */,
|
||||
1F83EB5F25E11B3D00C47CC2 /* CategoryItemView.swift */,
|
||||
1F83EB6225E14CF400C47CC2 /* CategoryGridView.swift */,
|
||||
1F83EB6525E1552600C47CC2 /* SectionView.swift */,
|
||||
1F83EB6A25E1EE3800C47CC2 /* TitleView.swift */,
|
||||
1F83EB7025E1F6FE00C47CC2 /* PenItemView.swift */,
|
||||
1F83EB7625E2089200C47CC2 /* BrandItemView.swift */,
|
||||
1F83EB7925E2350B00C47CC2 /* BrandGridView.swift */,
|
||||
);
|
||||
path = Home;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB3F25DFAC3D00C47CC2 /* Detail */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1FB1251325E2452C00C5D512 /* NavigationBarDetailView.swift */,
|
||||
1FB1251625E247F600C5D512 /* HeaderDetailView.swift */,
|
||||
1FB1251925E2507700C5D512 /* TopPartDetailView.swift */,
|
||||
1FB1251F25E3218100C5D512 /* RatingsSizesDetailView.swift */,
|
||||
1FB1252225E329D300C5D512 /* QuantityFavouriteDetailView.swift */,
|
||||
1FB1252525E3576900C5D512 /* AddToCartDetailView.swift */,
|
||||
);
|
||||
path = Detail;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB4025DFD9A300C47CC2 /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB5025E0EA7B00C47CC2 /* HeaderModel.swift */,
|
||||
1F83EB5C25E1140E00C47CC2 /* CategoryModel.swift */,
|
||||
1F83EB6D25E1F5BA00C47CC2 /* PenModel.swift */,
|
||||
1F83EB7325E2072E00C47CC2 /* BrandModel.swift */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB4125DFD9AF00C47CC2 /* Extension */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB5325E0EEC500C47CC2 /* CodableBundleExtension.swift */,
|
||||
);
|
||||
path = Extension;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1F83EB4225DFD9B800C47CC2 /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1F83EB4325DFD9C800C47CC2 /* Constant.swift */,
|
||||
1FB1251C25E2A29500C5D512 /* CustomShape.swift */,
|
||||
1FB1252825E3757A00C5D512 /* Shop.swift */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1F83EB1A25DF903900C47CC2 /* LoveToWrite */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1F83EB2A25DF903900C47CC2 /* Build configuration list for PBXNativeTarget "LoveToWrite" */;
|
||||
buildPhases = (
|
||||
1F83EB1725DF903900C47CC2 /* Sources */,
|
||||
1F83EB1825DF903900C47CC2 /* Frameworks */,
|
||||
1F83EB1925DF903900C47CC2 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = LoveToWrite;
|
||||
productName = LoveToWrite;
|
||||
productReference = 1F83EB1B25DF903900C47CC2 /* LoveToWrite.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
1F83EB1325DF903900C47CC2 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1240;
|
||||
LastUpgradeCheck = 1240;
|
||||
TargetAttributes = {
|
||||
1F83EB1A25DF903900C47CC2 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 1F83EB1625DF903900C47CC2 /* Build configuration list for PBXProject "LoveToWrite" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 1F83EB1225DF903900C47CC2;
|
||||
productRefGroup = 1F83EB1C25DF903900C47CC2 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1F83EB1A25DF903900C47CC2 /* LoveToWrite */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1F83EB1925DF903900C47CC2 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1F83EB2625DF903900C47CC2 /* Preview Assets.xcassets in Resources */,
|
||||
1F83EB3925DFAC0E00C47CC2 /* brand.json in Resources */,
|
||||
1F83EB2325DF903900C47CC2 /* Assets.xcassets in Resources */,
|
||||
1F83EB3B25DFAC0E00C47CC2 /* category.json in Resources */,
|
||||
1F83EB3A25DFAC0E00C47CC2 /* header.json in Resources */,
|
||||
1F83EB3825DFAC0E00C47CC2 /* pen.json in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1F83EB1725DF903900C47CC2 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1F83EB5425E0EEC500C47CC2 /* CodableBundleExtension.swift in Sources */,
|
||||
1FB1251725E247F600C5D512 /* HeaderDetailView.swift in Sources */,
|
||||
1FB1251A25E2507700C5D512 /* TopPartDetailView.swift in Sources */,
|
||||
1F83EB2125DF903900C47CC2 /* ContentView.swift in Sources */,
|
||||
1F83EB5125E0EA7B00C47CC2 /* HeaderModel.swift in Sources */,
|
||||
1F83EB4E25E0A0F000C47CC2 /* LogoView.swift in Sources */,
|
||||
1F83EB4825DFE7FE00C47CC2 /* FooterView.swift in Sources */,
|
||||
1FB1251125E2410C00C5D512 /* PenDetailView.swift in Sources */,
|
||||
1FB1252625E3576900C5D512 /* AddToCartDetailView.swift in Sources */,
|
||||
1F83EB1F25DF903900C47CC2 /* LoveToWriteApp.swift in Sources */,
|
||||
1FB1252025E3218100C5D512 /* RatingsSizesDetailView.swift in Sources */,
|
||||
1F83EB7A25E2350B00C47CC2 /* BrandGridView.swift in Sources */,
|
||||
1F83EB4425DFD9C800C47CC2 /* Constant.swift in Sources */,
|
||||
1FB1251425E2452C00C5D512 /* NavigationBarDetailView.swift in Sources */,
|
||||
1F83EB6325E14CF400C47CC2 /* CategoryGridView.swift in Sources */,
|
||||
1F83EB5D25E1140E00C47CC2 /* CategoryModel.swift in Sources */,
|
||||
1F83EB5A25E0F99700C47CC2 /* HeaderTabView.swift in Sources */,
|
||||
1F83EB7125E1F6FE00C47CC2 /* PenItemView.swift in Sources */,
|
||||
1F83EB6625E1552600C47CC2 /* SectionView.swift in Sources */,
|
||||
1F83EB7725E2089200C47CC2 /* BrandItemView.swift in Sources */,
|
||||
1F83EB6025E11B3D00C47CC2 /* CategoryItemView.swift in Sources */,
|
||||
1F83EB4B25E00AC600C47CC2 /* NavigationBarView.swift in Sources */,
|
||||
1FB1251D25E2A29500C5D512 /* CustomShape.swift in Sources */,
|
||||
1F83EB6E25E1F5BA00C47CC2 /* PenModel.swift in Sources */,
|
||||
1FB1252925E3757A00C5D512 /* Shop.swift in Sources */,
|
||||
1F83EB7425E2072E00C47CC2 /* BrandModel.swift in Sources */,
|
||||
1F83EB5725E0F1FC00C47CC2 /* HeaderItemView.swift in Sources */,
|
||||
1FB1252325E329D300C5D512 /* QuantityFavouriteDetailView.swift in Sources */,
|
||||
1F83EB6B25E1EE3800C47CC2 /* TitleView.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1F83EB2825DF903900C47CC2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1F83EB2925DF903900C47CC2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1F83EB2B25DF903900C47CC2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"LoveToWrite/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = Z3W45GNWDZ;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = LoveToWrite/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = cn.liuming.LoveToWrite;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1F83EB2C25DF903900C47CC2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"LoveToWrite/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = Z3W45GNWDZ;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = LoveToWrite/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = cn.liuming.LoveToWrite;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1F83EB1625DF903900C47CC2 /* Build configuration list for PBXProject "LoveToWrite" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1F83EB2825DF903900C47CC2 /* Debug */,
|
||||
1F83EB2925DF903900C47CC2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1F83EB2A25DF903900C47CC2 /* Build configuration list for PBXNativeTarget "LoveToWrite" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1F83EB2B25DF903900C47CC2 /* Debug */,
|
||||
1F83EB2C25DF903900C47CC2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 1F83EB1325DF903900C47CC2 /* Project object */;
|
||||
}
|
||||
7
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?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>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -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>LoveToWrite.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Bucket
|
||||
uuid = "9B937180-0723-449A-A691-C313881DBAE7"
|
||||
type = "1"
|
||||
version = "2.0">
|
||||
</Bucket>
|
||||
@@ -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>LoveToWrite.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
74
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/App/ContentView.swift
Normal file
@@ -0,0 +1,74 @@
|
||||
//
|
||||
// ContentView.swift
|
||||
// LoveToWrite
|
||||
//
|
||||
// Created by 刘铭 on 2021/2/19.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ContentView: View {
|
||||
// MARK: - Properties
|
||||
@EnvironmentObject var shop: Shop
|
||||
|
||||
// MARK: - Body
|
||||
var body: some View {
|
||||
ZStack {
|
||||
if shop.showingPen == false && shop.selectedPen == nil {
|
||||
VStack {
|
||||
NavigationBarView()
|
||||
.padding(.horizontal, 15)
|
||||
.padding(.bottom)
|
||||
.padding(.top, UIApplication.shared.windows.first?.safeAreaInsets.top)
|
||||
.background(Color.white)
|
||||
.shadow(color: Color.black.opacity(0.05), radius: 5, x: 0, y: 5)
|
||||
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(spacing: 0) {
|
||||
HeaderTabView()
|
||||
.padding(.vertical, 20)
|
||||
.frame(height: 300, alignment: .center)
|
||||
|
||||
CategoryGridView()
|
||||
|
||||
TitleView(title: "钢 笔")
|
||||
|
||||
LazyVGrid(columns: gridLayout, spacing: 15, content: {
|
||||
ForEach(pens) { item in
|
||||
PenItemView(pen: item)
|
||||
.onTapGesture {
|
||||
feedback.impactOccurred()
|
||||
|
||||
withAnimation(.easeOut) {
|
||||
shop.showingPen = true
|
||||
shop.selectedPen = item
|
||||
}
|
||||
}
|
||||
} //: Loop
|
||||
}) //: Grid
|
||||
.padding(15)
|
||||
|
||||
TitleView(title: "品 牌")
|
||||
BrandGridView()
|
||||
|
||||
FooterView()
|
||||
.padding(.horizontal)
|
||||
} //: VStack
|
||||
} //: ScrollView
|
||||
} //: VStack
|
||||
.background(colorBackground.ignoresSafeArea(.all, edges: .all))
|
||||
} else {
|
||||
PenDetailView()
|
||||
}
|
||||
} //: ZStack
|
||||
.ignoresSafeArea(.all, edges: .top)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Preview
|
||||
struct ContentView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ContentView()
|
||||
.environmentObject(Shop())
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// LoveToWriteApp.swift
|
||||
// LoveToWrite
|
||||
//
|
||||
// Created by 刘铭 on 2021/2/19.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
@main
|
||||
struct LoveToWriteApp: App {
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
ContentView()
|
||||
.environmentObject(Shop())
|
||||
}
|
||||
}
|
||||
}
|
||||
77
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/App/PenDetailView.swift
Normal file
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// PenDetailView.swift
|
||||
// LoveToWrite
|
||||
//
|
||||
// Created by 刘铭 on 2021/2/21.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct PenDetailView: View {
|
||||
// MARK: - Properties
|
||||
@EnvironmentObject var shop: Shop
|
||||
|
||||
// MARK: - Body
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 5) {
|
||||
// 导航栏
|
||||
NavigationBarDetailView()
|
||||
.padding(.horizontal)
|
||||
.padding(.top, UIApplication.shared.windows.first?.safeAreaInsets.top)
|
||||
|
||||
// Header
|
||||
HeaderDetailView()
|
||||
.padding(.horizontal)
|
||||
|
||||
// Top Part
|
||||
TopPartDetailView()
|
||||
.padding(.horizontal)
|
||||
.zIndex(1)
|
||||
|
||||
// Bottom Part
|
||||
VStack(alignment: .center, spacing: 0) {
|
||||
// 评星 & 笔尖规格
|
||||
RatingsSizesDetailView()
|
||||
.padding(.top, 20)
|
||||
.padding(.bottom, 10)
|
||||
|
||||
// 描述
|
||||
ScrollView(.vertical, showsIndicators: false, content: {
|
||||
Text(shop.selectedPen?.description ?? samplePen.description)
|
||||
.font(.subheadline)
|
||||
.foregroundColor(.gray)
|
||||
.multilineTextAlignment(.leading)
|
||||
})
|
||||
|
||||
// 数量和设为最爱
|
||||
QuantityFavouriteDetailView()
|
||||
.padding(.vertical, 10)
|
||||
|
||||
// 购物车
|
||||
AddToCartDetailView()
|
||||
.padding(.bottom, 20)
|
||||
} //: VStack
|
||||
.padding(.horizontal)
|
||||
.background(
|
||||
Color.white.clipShape(CustomShape()).padding(.top, -105)
|
||||
)
|
||||
.zIndex(0)
|
||||
} //: VStack
|
||||
.ignoresSafeArea(.all, edges: .all)
|
||||
.background(
|
||||
Color(
|
||||
red: shop.selectedPen?.red ?? samplePen.red,
|
||||
green: shop.selectedPen?.green ?? samplePen.green,
|
||||
blue: shop.selectedPen?.blue ?? samplePen.blue)
|
||||
).ignoresSafeArea(.all, edges: .all)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Preview
|
||||
struct PenDetailView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
PenDetailView()
|
||||
.environmentObject(Shop())
|
||||
.previewLayout(.fixed(width: 375, height: 812))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"images": [
|
||||
{
|
||||
"size": "20x20",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-20@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "20x20",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-20@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size": "40x40",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-40@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "40x40",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-40@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size": "57x57",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-57.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "57x57",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-57@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "60x60",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-60@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "60x60",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-60@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size": "20x20",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-20-ipad.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "20x20",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-20@2x-ipad.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "29x29",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-29-ipad.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "29x29",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-29@2x-ipad.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "40x40",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-40.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "40x40",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-40@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "50x50",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-50.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "50x50",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-50@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "72x72",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-72.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "72x72",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-72@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "76x76",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-76.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size": "76x76",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-76@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "83.5x83.5",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-83.5@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size": "1024x1024",
|
||||
"idiom": "ios-marketing",
|
||||
"filename": "icon-1024.png",
|
||||
"scale": "1x"
|
||||
}
|
||||
],
|
||||
"info": {
|
||||
"version": 1,
|
||||
"author": "icon.wuruihong.com"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 1010 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no01.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no01.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no01@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no01@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no01.imageset/brand-no01.jpg
vendored
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no01.imageset/brand-no01@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no01.imageset/brand-no01@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 19 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no02.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no02.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no02@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no02@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no02.imageset/brand-no02.jpg
vendored
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no02.imageset/brand-no02@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no02.imageset/brand-no02@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 24 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no03.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no03.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no03@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no03@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no03.imageset/brand-no03.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no03.imageset/brand-no03@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no03.imageset/brand-no03@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no04.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no04.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no04@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no04@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no04.imageset/brand-no04.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no04.imageset/brand-no04@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no04.imageset/brand-no04@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 10 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no05.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no05.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no05@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no05@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no05.imageset/brand-no05.jpg
vendored
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no05.imageset/brand-no05@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no05.imageset/brand-no05@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 23 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no06.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no06.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no06@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no06@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no06.imageset/brand-no06.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no06.imageset/brand-no06@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no06.imageset/brand-no06@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no07.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no07.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no07@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no07@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no07.imageset/brand-no07.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no07.imageset/brand-no07@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no07.imageset/brand-no07@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no08.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no08.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no08@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no08@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no08.imageset/brand-no08.jpg
vendored
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no08.imageset/brand-no08@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no08.imageset/brand-no08@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no09.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no09.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no09@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no09@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no09.imageset/brand-no09.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no09.imageset/brand-no09@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no09.imageset/brand-no09@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 16 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no10.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no10.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no10@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no10@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no10.imageset/brand-no10.jpg
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no10.imageset/brand-no10@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no10.imageset/brand-no10@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no11.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no11.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no11@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no11@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no11.imageset/brand-no11.jpg
vendored
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no11.imageset/brand-no11@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no11.imageset/brand-no11@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 25 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no12.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no12.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no12@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no12@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no12.imageset/brand-no12.jpg
vendored
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no12.imageset/brand-no12@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no12.imageset/brand-no12@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 16 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no13.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no13.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no13@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no13@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no13.imageset/brand-no13.jpg
vendored
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no13.imageset/brand-no13@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no13.imageset/brand-no13@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 18 KiB |
23
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no14.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "brand-no14.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no14@2x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "brand-no14@3x.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no14.imageset/brand-no14.jpg
vendored
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no14.imageset/brand-no14@2x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Brand/brand-no14.imageset/brand-no14@3x.jpg
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
24
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Category/信封.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "信封.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"preserves-vector-representation" : true
|
||||
}
|
||||
}
|
||||
111
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Category/信封.imageset/信封.svg
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="61.02" cy="236.43" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="105.14" cy="236.43" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="150.48" cy="236.43" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="322.67" cy="230.77" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="416.12" cy="190.04" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="460.24" cy="190.04" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="61.02" cy="422.74" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="105.14" cy="422.74" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="438.16" cy="54.775" r="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M502,134.347H374.318c-5.523,0-10,4.478-10,10v117.271H180.682c-5.523,0-10,4.478-10,10v154.937c0,5.522,4.477,10,10,10
|
||||
H312.67v48.371H20V27.075h292.669v162.97c0,5.522,4.477,10,10,10s10-4.478,10-10V17.075c0-5.522-4.477-10-10-10H10
|
||||
c-5.523,0-10,4.478-10,10v477.85c0,5.522,4.477,10,10,10h312.669c5.523,0,10-4.478,10-10v-58.371h113.202c5.523,0,10-4.478,10-10
|
||||
v-96.785H502c5.523,0,10-4.478,10-10V144.347C512,138.824,507.523,134.347,502,134.347z M410.042,281.617l-96.765,55.919
|
||||
l-96.765-55.919H410.042z M435.871,416.554H190.682v0V289.79l117.591,67.954c1.548,0.895,3.275,1.342,5.003,1.342
|
||||
c1.728,0,3.456-0.447,5.003-1.342l117.592-67.954V416.554z M492,309.769h-36.128v-38.151c0-5.522-4.477-10-10-10h-61.553V154.347
|
||||
H492V309.769z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M89.521,114.813c-23.499,0-42.617,19.117-42.617,42.616c0,23.499,19.118,42.616,42.617,42.616
|
||||
c23.499,0,42.617-19.117,42.617-42.616C132.138,133.93,113.02,114.813,89.521,114.813z M89.521,180.045
|
||||
c-12.471,0-22.617-10.146-22.617-22.616c0-12.47,10.146-22.616,22.617-22.616s22.617,10.145,22.617,22.616
|
||||
C112.138,169.9,101.992,180.045,89.521,180.045z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M502,7.075H374.318c-5.523,0-10,4.478-10,10v75.4c0,5.522,4.477,10,10,10H502c5.523,0,10-4.478,10-10v-75.4
|
||||
C512,11.553,507.523,7.075,502,7.075z M492,82.476H384.318v-55.4H492V82.476z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M270.502,69.069H55.765c-5.523,0-10,4.478-10,10c0,5.522,4.477,10,10,10h214.738c5.522,0,9.999-4.477,9.999-10
|
||||
C280.502,73.547,276.025,69.069,270.502,69.069z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
24
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Category/刻刀.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "刻刀.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"preserves-vector-representation" : true
|
||||
}
|
||||
}
|
||||
9
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Category/刻刀.imageset/刻刀.svg
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="176px" height="496px" viewBox="0 0 176 496" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>画板</title>
|
||||
<g id="画板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="stationery-(4)" fill="#000000" fill-rule="nonzero">
|
||||
<path d="M160,140.904 L160,34.4 L65.408,0 L48,0 L48,140.904 L32,146.24 L32,320.904 C32,344.896 24.968,368.128 11.656,388.096 C4.032,399.528 0,412.84 0,426.592 C0,464.864 31.136,496 69.408,496 L106.592,496 C144.864,496 176,464.864 176,426.592 L176,146.232 L160,140.904 Z M64,16.512 L144,45.6 L144,135.568 L121.296,128 L86.704,128 L64,135.568 L64,16.512 Z M128,336 L128.008,352 L80,352 L80,336 L128,336 Z M96,320 L96,144 L112,144 L112,320 L96,320 Z M48,320.904 L48,157.768 L80,147.104 L80,320 C71.176,320 64,327.176 64,336 L64,352 C64,360.824 71.176,368 80,368 L128,368 C136.824,368 144,360.824 144,352 L144,336 C144,327.176 136.824,320 128,320 L128,147.096 L160,157.76 L160,416 L123.312,416 L107.312,400 L23.256,400 C23.84,398.992 24.32,397.944 24.968,396.968 C40.04,374.368 48,348.064 48,320.904 Z M69.408,480 C62.928,480 56.736,478.784 50.984,476.656 C55.056,469 62.96,464 72,464 L104,464 C113.04,464 120.944,469 125.024,476.656 C119.264,478.784 113.08,480 106.592,480 L69.408,480 Z M139,468.944 C132.168,456.272 119.024,448 104,448 L72,448 C56.976,448 43.832,456.272 37,468.944 C24.264,459.176 16,443.848 16,426.592 C16,423 16.488,419.472 17.192,416 L100.688,416 L116.688,432 L159.728,432 C158.208,447.04 150.392,460.208 139,468.944 Z" id="形状"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
24
第五章 爱上写字/源代码/LoveToWrite/LoveToWrite/Assets.xcassets/Category/剪刀.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "剪刀.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"preserves-vector-representation" : true
|
||||
}
|
||||
}
|
||||