zzb 4 years ago
parent
commit
7179d7a0f4

+ 103 - 33
Example/ZZUIKit.xcodeproj/project.pbxproj

@@ -7,7 +7,13 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		11C0C9C891701A1446D9D8D6 /* Pods_ZZUIKit_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2657A22FF0E9BE60B767DBD2 /* Pods_ZZUIKit_Example.framework */; };
+		24C5711CB03E277A3E63DD63 /* Pods_ZZUIKit_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 202D52A2FE1EE9984868D9C5 /* Pods_ZZUIKit_Example.framework */; };
+		50001EF525BF260000ACBB42 /* ZZFlexLibPreviewPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 50001EF425BF260000ACBB42 /* ZZFlexLibPreviewPlugin.m */; };
+		5046870D25AFE82A00F6139F /* ZZStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5046870C25AFE82A00F6139F /* ZZStackViewController.m */; };
+		50558E8E25B075CD007F26BE /* ZZDoubleVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 50558E8D25B075CD007F26BE /* ZZDoubleVC.m */; };
+		505E622525B1840600A3BB42 /* ZZSOViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 505E622425B1840600A3BB42 /* ZZSOViewController.m */; };
+		508510F925B6A91D00E2E58C /* ZZItemInfoController.m in Sources */ = {isa = PBXBuildFile; fileRef = 508510F825B6A91D00E2E58C /* ZZItemInfoController.m */; };
+		5097D24025B1A17100644FF5 /* ZZSOTableViewController1.m in Sources */ = {isa = PBXBuildFile; fileRef = 5097D23F25B1A17100644FF5 /* ZZSOTableViewController1.m */; };
 		6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
 		6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
 		6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
@@ -21,9 +27,9 @@
 		6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
 		6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
 		6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
-		61AB82C185AF2C2FB4471685 /* Pods_ZZUIKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2089C4689EB572E5A2BDCC18 /* Pods_ZZUIKit_Tests.framework */; };
 		71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; };
 		873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
+		DA0A3A8DCA61FB4547A8CB16 /* Pods_ZZUIKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76220CB35FE57CD565466C0A /* Pods_ZZUIKit_Tests.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -37,11 +43,22 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		0CC91EA8C18D6F3CA378C67C /* ZZUIKit.podspec */ = {isa = PBXFileReference; includeInIndex = 1; name = ZZUIKit.podspec; path = ../ZZUIKit.podspec; sourceTree = "<group>"; };
-		2089C4689EB572E5A2BDCC18 /* Pods_ZZUIKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZZUIKit_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		2657A22FF0E9BE60B767DBD2 /* Pods_ZZUIKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZZUIKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		2ACD6917FFF8B10C856E52FD /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; name = README.md; path = ../README.md; sourceTree = "<group>"; };
+		0CC91EA8C18D6F3CA378C67C /* ZZUIKit.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = ZZUIKit.podspec; path = ../ZZUIKit.podspec; sourceTree = "<group>"; };
+		202D52A2FE1EE9984868D9C5 /* Pods_ZZUIKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZZUIKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		2ACD6917FFF8B10C856E52FD /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
 		40B6B62C87E54DD9DA7B6332 /* Pods-ZZUIKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZZUIKit_Tests.debug.xcconfig"; path = "Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests.debug.xcconfig"; sourceTree = "<group>"; };
+		50001EF325BF260000ACBB42 /* ZZFlexLibPreviewPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZFlexLibPreviewPlugin.h; sourceTree = "<group>"; };
+		50001EF425BF260000ACBB42 /* ZZFlexLibPreviewPlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZFlexLibPreviewPlugin.m; sourceTree = "<group>"; };
+		5046870B25AFE82A00F6139F /* ZZStackViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZStackViewController.h; sourceTree = "<group>"; };
+		5046870C25AFE82A00F6139F /* ZZStackViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZStackViewController.m; sourceTree = "<group>"; };
+		50558E8C25B075CD007F26BE /* ZZDoubleVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZDoubleVC.h; sourceTree = "<group>"; };
+		50558E8D25B075CD007F26BE /* ZZDoubleVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZDoubleVC.m; sourceTree = "<group>"; };
+		505E622325B1840600A3BB42 /* ZZSOViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZSOViewController.h; sourceTree = "<group>"; };
+		505E622425B1840600A3BB42 /* ZZSOViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZSOViewController.m; sourceTree = "<group>"; };
+		508510F725B6A91D00E2E58C /* ZZItemInfoController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZItemInfoController.h; sourceTree = "<group>"; };
+		508510F825B6A91D00E2E58C /* ZZItemInfoController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZItemInfoController.m; sourceTree = "<group>"; };
+		5097D23E25B1A17100644FF5 /* ZZSOTableViewController1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZZSOTableViewController1.h; sourceTree = "<group>"; };
+		5097D23F25B1A17100644FF5 /* ZZSOTableViewController1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZZSOTableViewController1.m; sourceTree = "<group>"; };
 		6003F58A195388D20070C39A /* ZZUIKit_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ZZUIKit_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 		6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
@@ -62,8 +79,9 @@
 		6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; };
 		606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = "<group>"; };
 		71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		76220CB35FE57CD565466C0A /* Pods_ZZUIKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZZUIKit_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-		911A8C85BD742760A9E88B6C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
+		911A8C85BD742760A9E88B6C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
 		9F26ACBB782E7A1579658AA1 /* Pods-ZZUIKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZZUIKit_Example.release.xcconfig"; path = "Target Support Files/Pods-ZZUIKit_Example/Pods-ZZUIKit_Example.release.xcconfig"; sourceTree = "<group>"; };
 		E0A722468A370F6E0721D78F /* Pods-ZZUIKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZZUIKit_Example.debug.xcconfig"; path = "Target Support Files/Pods-ZZUIKit_Example/Pods-ZZUIKit_Example.debug.xcconfig"; sourceTree = "<group>"; };
 		EF000C3C4E0BA627140F3AC5 /* Pods-ZZUIKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZZUIKit_Tests.release.xcconfig"; path = "Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests.release.xcconfig"; sourceTree = "<group>"; };
@@ -77,7 +95,7 @@
 				6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */,
 				6003F592195388D20070C39A /* UIKit.framework in Frameworks */,
 				6003F58E195388D20070C39A /* Foundation.framework in Frameworks */,
-				11C0C9C891701A1446D9D8D6 /* Pods_ZZUIKit_Example.framework in Frameworks */,
+				24C5711CB03E277A3E63DD63 /* Pods_ZZUIKit_Example.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -88,7 +106,7 @@
 				6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
 				6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
 				6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
-				61AB82C185AF2C2FB4471685 /* Pods_ZZUIKit_Tests.framework in Frameworks */,
+				DA0A3A8DCA61FB4547A8CB16 /* Pods_ZZUIKit_Tests.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -103,7 +121,6 @@
 				40B6B62C87E54DD9DA7B6332 /* Pods-ZZUIKit_Tests.debug.xcconfig */,
 				EF000C3C4E0BA627140F3AC5 /* Pods-ZZUIKit_Tests.release.xcconfig */,
 			);
-			name = Pods;
 			path = Pods;
 			sourceTree = "<group>";
 		};
@@ -135,8 +152,8 @@
 				6003F58F195388D20070C39A /* CoreGraphics.framework */,
 				6003F591195388D20070C39A /* UIKit.framework */,
 				6003F5AF195388D20070C39A /* XCTest.framework */,
-				2657A22FF0E9BE60B767DBD2 /* Pods_ZZUIKit_Example.framework */,
-				2089C4689EB572E5A2BDCC18 /* Pods_ZZUIKit_Tests.framework */,
+				202D52A2FE1EE9984868D9C5 /* Pods_ZZUIKit_Example.framework */,
+				76220CB35FE57CD565466C0A /* Pods_ZZUIKit_Tests.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -146,9 +163,21 @@
 			children = (
 				6003F59C195388D20070C39A /* ZZAppDelegate.h */,
 				6003F59D195388D20070C39A /* ZZAppDelegate.m */,
+				50001EF325BF260000ACBB42 /* ZZFlexLibPreviewPlugin.h */,
+				50001EF425BF260000ACBB42 /* ZZFlexLibPreviewPlugin.m */,
 				873B8AEA1B1F5CCA007FD442 /* Main.storyboard */,
 				6003F5A5195388D20070C39A /* ZZViewController.h */,
 				6003F5A6195388D20070C39A /* ZZViewController.m */,
+				50558E8C25B075CD007F26BE /* ZZDoubleVC.h */,
+				50558E8D25B075CD007F26BE /* ZZDoubleVC.m */,
+				5046870B25AFE82A00F6139F /* ZZStackViewController.h */,
+				5046870C25AFE82A00F6139F /* ZZStackViewController.m */,
+				505E622325B1840600A3BB42 /* ZZSOViewController.h */,
+				505E622425B1840600A3BB42 /* ZZSOViewController.m */,
+				5097D23E25B1A17100644FF5 /* ZZSOTableViewController1.h */,
+				5097D23F25B1A17100644FF5 /* ZZSOTableViewController1.m */,
+				508510F725B6A91D00E2E58C /* ZZItemInfoController.h */,
+				508510F825B6A91D00E2E58C /* ZZItemInfoController.m */,
 				71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */,
 				6003F5A8195388D20070C39A /* Images.xcassets */,
 				6003F594195388D20070C39A /* Supporting Files */,
@@ -227,7 +256,7 @@
 				6003F5AA195388D20070C39A /* Sources */,
 				6003F5AB195388D20070C39A /* Frameworks */,
 				6003F5AC195388D20070C39A /* Resources */,
-				F344914A886B7C430A569878 /* [CP] Embed Pods Frameworks */,
+				2D58B937A8BD61C244B7C38E /* [CP] Embed Pods Frameworks */,
 			);
 			buildRules = (
 			);
@@ -249,6 +278,9 @@
 				LastUpgradeCheck = 0720;
 				ORGANIZATIONNAME = "bymiracles@163.com";
 				TargetAttributes = {
+					6003F589195388D20070C39A = {
+						DevelopmentTeam = 6ZZ6BB394W;
+					};
 					6003F5AD195388D20070C39A = {
 						TestTargetID = 6003F589195388D20070C39A;
 					};
@@ -259,8 +291,10 @@
 			developmentRegion = English;
 			hasScannedForEncodings = 0;
 			knownRegions = (
+				English,
 				en,
 				Base,
+				"zh-Hans",
 			);
 			mainGroup = 6003F581195388D10070C39A;
 			productRefGroup = 6003F58B195388D20070C39A /* Products */;
@@ -296,6 +330,32 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
+		2D58B937A8BD61C244B7C38E /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests-frameworks.sh",
+				"${BUILT_PRODUCTS_DIR}/Aspects/Aspects.framework",
+				"${BUILT_PRODUCTS_DIR}/ZZFoundation/ZZFoundation.framework",
+				"${BUILT_PRODUCTS_DIR}/ZZUIKitEx/ZZUIKitEx.framework",
+				"${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework",
+				"${BUILT_PRODUCTS_DIR}/Kiwi/Kiwi.framework",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Aspects.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZZFoundation.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZZUIKitEx.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kiwi.framework",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 		925120E8344A6E76ADEEDA79 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -325,12 +385,34 @@
 			);
 			inputPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-ZZUIKit_Example/Pods-ZZUIKit_Example-frameworks.sh",
+				"${BUILT_PRODUCTS_DIR}/Aspects/Aspects.framework",
+				"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework",
+				"${BUILT_PRODUCTS_DIR}/DoraemonKit/DoraemonKit.framework",
+				"${PODS_ROOT}/DoraemonKit/iOS/DoraemonKit/Framework/DoraemonLoadAnalyze.framework",
+				"${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework",
+				"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
+				"${BUILT_PRODUCTS_DIR}/FlexLib/FlexLib.framework",
+				"${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework",
+				"${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework",
+				"${BUILT_PRODUCTS_DIR}/YYDebugDatabase/YYDebugDatabase.framework",
+				"${BUILT_PRODUCTS_DIR}/Yoga/yoga.framework",
 				"${BUILT_PRODUCTS_DIR}/ZZFoundation/ZZFoundation.framework",
 				"${BUILT_PRODUCTS_DIR}/ZZUIKit/ZZUIKit.framework",
 				"${BUILT_PRODUCTS_DIR}/ZZUIKitEx/ZZUIKitEx.framework",
 			);
 			name = "[CP] Embed Pods Frameworks";
 			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Aspects.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DoraemonKit.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DoraemonLoadAnalyze.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FlexLib.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYDebugDatabase.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/yoga.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZZFoundation.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZZUIKit.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZZUIKitEx.framework",
@@ -362,26 +444,6 @@
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
-		F344914A886B7C430A569878 /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests-frameworks.sh",
-				"${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework",
-				"${BUILT_PRODUCTS_DIR}/Kiwi/Kiwi.framework",
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework",
-				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kiwi.framework",
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ZZUIKit_Tests/Pods-ZZUIKit_Tests-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -389,9 +451,15 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				505E622525B1840600A3BB42 /* ZZSOViewController.m in Sources */,
 				6003F59E195388D20070C39A /* ZZAppDelegate.m in Sources */,
 				6003F5A7195388D20070C39A /* ZZViewController.m in Sources */,
+				50558E8E25B075CD007F26BE /* ZZDoubleVC.m in Sources */,
+				508510F925B6A91D00E2E58C /* ZZItemInfoController.m in Sources */,
+				5097D24025B1A17100644FF5 /* ZZSOTableViewController1.m in Sources */,
+				50001EF525BF260000ACBB42 /* ZZFlexLibPreviewPlugin.m in Sources */,
 				6003F59A195388D20070C39A /* main.m in Sources */,
+				5046870D25AFE82A00F6139F /* ZZStackViewController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -519,6 +587,7 @@
 			baseConfigurationReference = E0A722468A370F6E0721D78F /* Pods-ZZUIKit_Example.debug.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				DEVELOPMENT_TEAM = 6ZZ6BB394W;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = "ZZUIKit/ZZUIKit-Prefix.pch";
 				INFOPLIST_FILE = "ZZUIKit/ZZUIKit-Info.plist";
@@ -535,6 +604,7 @@
 			baseConfigurationReference = 9F26ACBB782E7A1579658AA1 /* Pods-ZZUIKit_Example.release.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				DEVELOPMENT_TEAM = 6ZZ6BB394W;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = "ZZUIKit/ZZUIKit-Prefix.pch";
 				INFOPLIST_FILE = "ZZUIKit/ZZUIKit-Info.plist";

+ 9 - 13
Example/ZZUIKit.xcodeproj/xcshareddata/xcschemes/ZZUIKit-Example.xcscheme

@@ -27,6 +27,15 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "6003F589195388D20070C39A"
+            BuildableName = "ZZUIKit_Example.app"
+            BlueprintName = "ZZUIKit_Example"
+            ReferencedContainer = "container:ZZUIKit.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
       <Testables>
          <TestableReference
             skipped = "NO">
@@ -39,17 +48,6 @@
             </BuildableReference>
          </TestableReference>
       </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "6003F589195388D20070C39A"
-            BuildableName = "ZZUIKit_Example.app"
-            BlueprintName = "ZZUIKit_Example"
-            ReferencedContainer = "container:ZZUIKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    <LaunchAction
       buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
             ReferencedContainer = "container:ZZUIKit.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"

Example/ZZUIKit/CRMark.h → Example/ZZUIKit/CRRulerControl/CRMark.h


Example/ZZUIKit/CRMark.m → Example/ZZUIKit/CRRulerControl/CRMark.m


Example/ZZUIKit/CRRulerControl.h → Example/ZZUIKit/CRRulerControl/CRRulerControl.h


Example/ZZUIKit/CRRulerControl.m → Example/ZZUIKit/CRRulerControl/CRRulerControl.m


Example/ZZUIKit/CRRulerLayer.h → Example/ZZUIKit/CRRulerControl/CRRulerLayer.h


Example/ZZUIKit/CRRulerLayer.m → Example/ZZUIKit/CRRulerControl/CRRulerLayer.m


+ 19 - 0
Example/ZZUIKit/ZZFlexLibPreviewPlugin.h

@@ -0,0 +1,19 @@
+//
+//  ZZFlexLibPreviewPluginVC.h
+//  ZZUIKit_Example
+//
+//  Created by Max on 2021/1/26.
+//  Copyright © 2021 bymiracles@163.com. All rights reserved.
+//
+
+#import <ZZUIKit/FlexHttpVC.h>
+#import <DoraemonKit.h>
+#import <DoraemonPluginProtocol.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ZZFlexLibPreviewPlugin : FlexHttpVC<DoraemonPluginProtocol>
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 24 - 0
Example/ZZUIKit/ZZFlexLibPreviewPlugin.m

@@ -0,0 +1,24 @@
+//
+//  ZZFlexLibPreviewPluginVC.m
+//  ZZUIKit_Example
+//
+//  Created by Max on 2021/1/26.
+//  Copyright © 2021 bymiracles@163.com. All rights reserved.
+//
+
+#import "ZZFlexLibPreviewPlugin.h"
+#import <ZZUIKitEx.h>
+#import <ZZUIKit/ZZViewHierarchy.h>
+@interface ZZFlexLibPreviewPlugin ()
+
+@end
+
+@implementation ZZFlexLibPreviewPlugin
+
+- (void)pluginDidLoad{
+    [ZZFlexLibPreviewPlugin presentInVC:[ZZViewHierarchy ZZCurrentViewController]];
+    [[DoraemonManager shareInstance] hiddenHomeWindow];
+}
+
+
+@end

+ 16 - 0
ZZUIKit/Classes/ZZItemInfo/ZZInfoItem.h

@@ -0,0 +1,16 @@
+//
+//  ZZInfoItem.h
+//  Aspects
+//
+//  Created by Max on 2021/1/26.
+//
+
+#import <FlexLib/FlexLib.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ZZInfoItem : FlexCustomBaseView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 20 - 0
ZZUIKit/Classes/ZZItemInfo/ZZInfoItem.m

@@ -0,0 +1,20 @@
+//
+//  ZZInfoItem.m
+//  Aspects
+//
+//  Created by Max on 2021/1/26.
+//
+
+#import "ZZInfoItem.h"
+
+@implementation ZZInfoItem
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 0 - 30
ZZUIKit/Classes/ZZItemInfo/ZZItemInfo.h

@@ -1,30 +0,0 @@
-//
-//  ZZItemInfo.h
-//  Pods
-//
-//  Created by Max on 2021/1/18.
-//
-
-#import <UIKit/UIKit.h>
-
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface ZZItemInfo : UIView
-/// 内容与容器的间距
-@property(nonatomic,assign) UIEdgeInsets edgeInsets;
-/// title之间的间距
-@property(nonatomic,assign) CGFloat rightSpaceV;
-/// image和title之前的间距
-@property(nonatomic,assign) CGFloat imgTitleSpaceH;
-@property(nonatomic,strong) UIImageView *imgView;
-
-@property(nonatomic,strong) UILabel *titleLab;
-@property(nonatomic,strong) UILabel *titleDescripLab;
-/// title和titleDescrip之前的间距
-@property(nonatomic,assign) CGFloat titlesSpaceH;
-
-@property(nonatomic,strong) UILabel *detailTitleLab;
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 180
ZZUIKit/Classes/ZZItemInfo/ZZItemInfo.m

@@ -1,180 +0,0 @@
-//
-//  ZZItemInfo.m
-//  Pods
-//
-//  Created by Max on 2021/1/18.
-//
-
-#import "ZZItemInfo.h"
-#import <ZZUIKitEx/ZZUIKitEx.h>
-#import <Masonry/Masonry.h>
-
-@interface ZZItemInfo()
-@property(nonatomic,strong) UIStackView *titleStack;
-@property(nonatomic,strong) UIStackView *rightStack;
-@end
-
-@implementation ZZItemInfo
-
--(instancetype)initWithFrame:(CGRect)frame{
-    if (self == [super initWithFrame:frame]) {
-        [self commonInit];
-    }
-    return self;
-}
-
--(instancetype)initWithCoder:(NSCoder *)coder{
-    if (self == [super initWithCoder:coder]) {
-        [self commonInit];
-    }
-    return self;
-}
-
--(void)commonInit{
-    _edgeInsets = UIEdgeInsetsMake(5, 5, 5, 5);
-    _imgTitleSpaceH = 10;
-    _rightSpaceV = 5;
-    [self addSubview:self.imgView];
-    [self.rightStack addArrangedSubview:self.titleLab];
-    [self.rightStack addArrangedSubview:self.detailTitleLab];
-    [self addSubview:self.rightStack];
-    [self configLayout];
-    [self addObserver:self forKeyPath:@"titleLab.text" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:NULL];
-    [self addObserver:self forKeyPath:@"detailTitleLab.text" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:NULL];
-}
-
--(void)configLayout{
-    //添加约束
-    [self.imgView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_equalTo(self).offset(self.edgeInsets.left);
-        make.centerY.mas_equalTo(self);
-        make.top.mas_greaterThanOrEqualTo(self).offset(self.edgeInsets.top);
-        make.bottom.mas_lessThanOrEqualTo(self).offset(-self.edgeInsets.bottom);
-    }];
-    
-    [self.rightStack mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_equalTo(self.imgView.mas_right).offset(self.imgTitleSpaceH);
-        make.centerY.mas_equalTo(self);
-        make.top.mas_greaterThanOrEqualTo(self).offset(self.edgeInsets.top);
-        make.bottom.mas_lessThanOrEqualTo(self).offset(-self.edgeInsets.bottom);
-        make.right.mas_greaterThanOrEqualTo(self).offset(-self.edgeInsets.right);
-    }];
-}
-
--(void)zz_updateConstraints{
-//    if (!self.superview) return;
-    if (!self.imgView.superview || !self.titleLab.superview || !self.detailTitleLab.superview) {
-        return;
-    }
-    //修改约束
-    [self.imgView mas_updateConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_equalTo(self).offset(self.edgeInsets.left);
-//        make.centerY.mas_equalTo(self);
-        make.top.mas_greaterThanOrEqualTo(self).offset(self.edgeInsets.top);
-        make.bottom.mas_lessThanOrEqualTo(self).offset(-self.edgeInsets.bottom);
-    }];
-    
-    [self.rightStack mas_updateConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_equalTo(self.imgView.mas_right).offset(self.imgTitleSpaceH);
-//        make.centerY.mas_equalTo(self);
-        make.top.mas_greaterThanOrEqualTo(self).offset(self.edgeInsets.top);
-        make.bottom.mas_lessThanOrEqualTo(self).offset(-self.edgeInsets.bottom);
-        make.right.mas_greaterThanOrEqualTo(self).offset(-self.edgeInsets.right);
-    }];
-}
-
--(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
-    if ([keyPath hasPrefix:@"titleLab"]) {
-        self.titleLab.hidden = self.titleLab.text.length == 0;
-    }else if([keyPath hasPrefix:@"subTitleLab"]){
-        self.detailTitleLab.hidden = self.detailTitleLab.text.length == 0;
-    }
-}
-
--(UIImageView *)imgView{
-    if(!_imgView){
-        _imgView = [[UIImageView alloc] init];
-    }
-    return _imgView;
-}
-
--(UIStackView *)rightStack{
-    if(!_rightStack){
-        _rightStack = [[UIStackView alloc] init];
-        _rightStack.axis = UILayoutConstraintAxisVertical;
-        _rightStack.distribution = UIStackViewDistributionFill;
-        _rightStack.alignment = UIStackViewAlignmentLeading;
-        _rightStack.spacing = self.rightSpaceV;
-    }
-    return _rightStack;
-}
-
--(UIStackView *)titleStack{
-    if(!_titleStack){
-        _titleStack = [[UIStackView alloc] init];
-        _rightStack.axis = UILayoutConstraintAxisVertical;
-        _rightStack.distribution = UIStackViewDistributionFill;
-        _rightStack.alignment = UIStackViewAlignmentLeading;
-    }
-    return _titleStack;
-}
-
--(UILabel *)titleLab{
-    if(!_titleLab){
-        _titleLab = [UILabel new];
-        _titleLab.textColor = zz_RGBHex(0x333333);
-        _titleLab.font = [UIFont systemFontOfSize:16];
-    }
-    return _titleLab;
-}
-
--(UILabel *)titleDescripLab{
-    if(!_titleDescripLab){
-        _titleDescripLab = [UILabel new];
-        _titleLab.textColor = zz_RGBHex(0x333333);
-        _titleLab.font = [UIFont systemFontOfSize:16];
-    }
-    return _titleDescripLab;
-}
-
--(UILabel *)detailTitleLab{
-    if(!_detailTitleLab){
-        _detailTitleLab = [UILabel new];
-        _detailTitleLab.textColor = zz_RGBHex(0x333333);
-        _detailTitleLab.font = [UIFont systemFontOfSize:12];
-    }
-    return _detailTitleLab;
-}
-
--(void)setEdgeInsets:(UIEdgeInsets)edgeInsets{
-    if (![NSStringFromUIEdgeInsets(_edgeInsets) isEqualToString:NSStringFromUIEdgeInsets(edgeInsets)]) {
-        _edgeInsets = edgeInsets;
-        [self zz_updateConstraints];
-    }else{
-        _edgeInsets = edgeInsets;
-    }
-}
-
--(void)setRightSpaceV:(CGFloat)titlesSpaceV{
-    if (_rightSpaceV != titlesSpaceV) {
-        _rightSpaceV = titlesSpaceV;
-         self.rightStack.spacing = titlesSpaceV;
-    }else{
-        _rightSpaceV = titlesSpaceV;
-    }
-}
-
--(void)setImgTitleSpaceH:(CGFloat)imgTitleSpaceH{
-    if (_imgTitleSpaceH != imgTitleSpaceH) {
-        _imgTitleSpaceH = imgTitleSpaceH;
-        [self zz_updateConstraints];
-    }else{
-        _imgTitleSpaceH = imgTitleSpaceH;
-    }
-}
-
--(void)dealloc{
-    [self removeObserver:self forKeyPath:@"titleLab.text"];
-    [self removeObserver:self forKeyPath:@"detailTitleLab.text"];
-}
-@end