Commit a6448511bb152c50b513db59b8b861c0ee3c7b48

Authored by cnlive
1 parent 262a84eb

完善整体框架

Showing 25 changed files with 577 additions and 47 deletions
LiveVideoCloud/LiveVideoCloud.xcodeproj/project.pbxproj
... ... @@ -8,7 +8,6 @@
8 8  
9 9 /* Begin PBXBuildFile section */
10 10 D2029B861E6EAAA50027CD92 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B851E6EAAA50027CD92 /* main.m */; };
11   - D2029B8C1E6EAAA50027CD92 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B8B1E6EAAA50027CD92 /* ViewController.m */; };
12 11 D2029B8F1E6EAAA50027CD92 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B8D1E6EAAA50027CD92 /* Main.storyboard */; };
13 12 D2029B911E6EAAA50027CD92 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2029B901E6EAAA50027CD92 /* Assets.xcassets */; };
14 13 D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */; };
... ... @@ -90,7 +89,6 @@
90 89 D2029CC91E6EADE10027CD92 /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D2029C6F1E6EADE10027CD92 /* SVProgressHUD.bundle */; };
91 90 D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C711E6EADE10027CD92 /* SVProgressHUD.m */; };
92 91 D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C731E6EADE10027CD92 /* SVRadialGradientLayer.m */; };
93   - D2029CCC1E6EADE10027CD92 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C791E6EADE10027CD92 /* HomeViewController.m */; };
94 92 D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C7C1E6EADE10027CD92 /* SearchModel.m */; };
95 93 D2029CCE1E6EADE10027CD92 /* SearchRecomListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C7E1E6EADE10027CD92 /* SearchRecomListModel.m */; };
96 94 D2029CCF1E6EADE10027CD92 /* SearchHttp.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C821E6EADE10027CD92 /* SearchHttp.m */; };
... ... @@ -108,6 +106,11 @@
108 106 D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */; };
109 107 D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */; };
110 108 D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029D151E6EB00D0027CD92 /* AppDelegate.m */; };
  109 + D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */; };
  110 + D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */; };
  111 + D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB01E6EC05F003A77C8 /* TempViewController.m */; };
  112 + D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB31E6EC154003A77C8 /* HomeViewController.m */; };
  113 + D2888DB71E6EC1B8003A77C8 /* LVCMyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB61E6EC1B8003A77C8 /* LVCMyViewController.m */; };
111 114 /* End PBXBuildFile section */
112 115  
113 116 /* Begin PBXContainerItemProxy section */
... ... @@ -130,8 +133,6 @@
130 133 /* Begin PBXFileReference section */
131 134 D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LiveVideoCloud.app; sourceTree = BUILT_PRODUCTS_DIR; };
132 135 D2029B851E6EAAA50027CD92 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
133   - D2029B8A1E6EAAA50027CD92 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
134   - D2029B8B1E6EAAA50027CD92 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
135 136 D2029B8E1E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
136 137 D2029B901E6EAAA50027CD92 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
137 138 D2029B931E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
... ... @@ -299,8 +300,6 @@
299 300 D2029C711E6EADE10027CD92 /* SVProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVProgressHUD.m; sourceTree = "<group>"; };
300 301 D2029C721E6EADE10027CD92 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVRadialGradientLayer.h; sourceTree = "<group>"; };
301 302 D2029C731E6EADE10027CD92 /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVRadialGradientLayer.m; sourceTree = "<group>"; };
302   - D2029C781E6EADE10027CD92 /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
303   - D2029C791E6EADE10027CD92 /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
304 303 D2029C7B1E6EADE10027CD92 /* SearchModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchModel.h; sourceTree = "<group>"; };
305 304 D2029C7C1E6EADE10027CD92 /* SearchModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchModel.m; sourceTree = "<group>"; };
306 305 D2029C7D1E6EADE10027CD92 /* SearchRecomListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchRecomListModel.h; sourceTree = "<group>"; };
... ... @@ -344,6 +343,16 @@
344 343 D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilKits.h; sourceTree = "<group>"; };
345 344 D2029D121E6EAF8D0027CD92 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
346 345 D2029D151E6EB00D0027CD92 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
  346 + D2888D921E6EB8B4003A77C8 /* LVCTabBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTabBar.h; sourceTree = "<group>"; };
  347 + D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTabBar.m; sourceTree = "<group>"; };
  348 + D2888D9A1E6EBF1B003A77C8 /* LVCLiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveViewController.h; sourceTree = "<group>"; };
  349 + D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveViewController.m; sourceTree = "<group>"; };
  350 + D2888DAF1E6EC05F003A77C8 /* TempViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TempViewController.h; sourceTree = "<group>"; };
  351 + D2888DB01E6EC05F003A77C8 /* TempViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TempViewController.m; sourceTree = "<group>"; };
  352 + D2888DB21E6EC154003A77C8 /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
  353 + D2888DB31E6EC154003A77C8 /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
  354 + D2888DB51E6EC1B8003A77C8 /* LVCMyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMyViewController.h; sourceTree = "<group>"; };
  355 + D2888DB61E6EC1B8003A77C8 /* LVCMyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMyViewController.m; sourceTree = "<group>"; };
347 356 /* End PBXFileReference section */
348 357  
349 358 /* Begin PBXFrameworksBuildPhase section */
... ... @@ -400,8 +409,6 @@
400 409 D2029BD01E6EADE10027CD92 /* Classes */,
401 410 D2029CD11E6EADE70027CD92 /* HttpService */,
402 411 D2029CD71E6EAE140027CD92 /* Resource */,
403   - D2029B8A1E6EAAA50027CD92 /* ViewController.h */,
404   - D2029B8B1E6EAAA50027CD92 /* ViewController.m */,
405 412 D2029B901E6EAAA50027CD92 /* Assets.xcassets */,
406 413 D2029CD61E6EADFB0027CD92 /* PrefixHeader.pch */,
407 414 D2029B841E6EAAA50027CD92 /* Supporting Files */,
... ... @@ -469,6 +476,7 @@
469 476 D2029BC71E6EADD70027CD92 /* ZXNavigationController.m */,
470 477 D2029BC81E6EADD70027CD92 /* ZXTabBarController.h */,
471 478 D2029BC91E6EADD70027CD92 /* ZXTabBarController.m */,
  479 + D2888D911E6EB897003A77C8 /* View */,
472 480 );
473 481 path = Main;
474 482 sourceTree = "<group>";
... ... @@ -773,20 +781,24 @@
773 781 D2029C741E6EADE10027CD92 /* Sections */ = {
774 782 isa = PBXGroup;
775 783 children = (
776   - D2029C751E6EADE10027CD92 /* ZXSections */,
  784 + D2888DA71E6EC014003A77C8 /* homeSections */,
  785 + D2888D951E6EBAA7003A77C8 /* LiveSections */,
  786 + D2888DAB1E6EC014003A77C8 /* mySections */,
  787 + D2029C751E6EADE10027CD92 /* ZXSections(例子) */,
777 788 );
778 789 path = Sections;
779 790 sourceTree = "<group>";
780 791 };
781   - D2029C751E6EADE10027CD92 /* ZXSections */ = {
  792 + D2029C751E6EADE10027CD92 /* ZXSections(例子) */ = {
782 793 isa = PBXGroup;
783 794 children = (
784   - D2029C761E6EADE10027CD92 /* Home */,
  795 + D2029C761E6EADE10027CD92 /* Temp */,
785 796 );
  797 + name = "ZXSections(例子)";
786 798 path = ZXSections;
787 799 sourceTree = "<group>";
788 800 };
789   - D2029C761E6EADE10027CD92 /* Home */ = {
  801 + D2029C761E6EADE10027CD92 /* Temp */ = {
790 802 isa = PBXGroup;
791 803 children = (
792 804 D2029C771E6EADE10027CD92 /* Controller */,
... ... @@ -794,14 +806,15 @@
794 806 D2029C7F1E6EADE10027CD92 /* Presenter */,
795 807 D2029C851E6EADE10027CD92 /* View */,
796 808 );
  809 + name = Temp;
797 810 path = Home;
798 811 sourceTree = "<group>";
799 812 };
800 813 D2029C771E6EADE10027CD92 /* Controller */ = {
801 814 isa = PBXGroup;
802 815 children = (
803   - D2029C781E6EADE10027CD92 /* HomeViewController.h */,
804   - D2029C791E6EADE10027CD92 /* HomeViewController.m */,
  816 + D2888DAF1E6EC05F003A77C8 /* TempViewController.h */,
  817 + D2888DB01E6EC05F003A77C8 /* TempViewController.m */,
805 818 );
806 819 path = Controller;
807 820 sourceTree = "<group>";
... ... @@ -887,13 +900,13 @@
887 900 D2029CDC1E6EAE2E0027CD92 /* UtilKits */ = {
888 901 isa = PBXGroup;
889 902 children = (
  903 + D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */,
  904 + D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */,
890 905 D2029CDD1E6EAE2E0027CD92 /* Category */,
891 906 D2029CEC1E6EAE2E0027CD92 /* Const */,
892 907 D2029CEF1E6EAE2E0027CD92 /* DeviceInfo */,
893   - D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */,
894 908 D2029CF31E6EAE2E0027CD92 /* Macro */,
895 909 D2029CFC1E6EAE2E0027CD92 /* ServerUrl */,
896   - D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */,
897 910 );
898 911 path = UtilKits;
899 912 sourceTree = "<group>";
... ... @@ -977,6 +990,114 @@
977 990 path = AppDelegate;
978 991 sourceTree = "<group>";
979 992 };
  993 + D2888D911E6EB897003A77C8 /* View */ = {
  994 + isa = PBXGroup;
  995 + children = (
  996 + D2888D921E6EB8B4003A77C8 /* LVCTabBar.h */,
  997 + D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */,
  998 + );
  999 + path = View;
  1000 + sourceTree = "<group>";
  1001 + };
  1002 + D2888D951E6EBAA7003A77C8 /* LiveSections */ = {
  1003 + isa = PBXGroup;
  1004 + children = (
  1005 + D2888D991E6EBF1B003A77C8 /* Controller */,
  1006 + D2888D9C1E6EBF1B003A77C8 /* Model */,
  1007 + D2888D9D1E6EBF1B003A77C8 /* View */,
  1008 + );
  1009 + path = LiveSections;
  1010 + sourceTree = "<group>";
  1011 + };
  1012 + D2888D991E6EBF1B003A77C8 /* Controller */ = {
  1013 + isa = PBXGroup;
  1014 + children = (
  1015 + D2888D9A1E6EBF1B003A77C8 /* LVCLiveViewController.h */,
  1016 + D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */,
  1017 + );
  1018 + path = Controller;
  1019 + sourceTree = "<group>";
  1020 + };
  1021 + D2888D9C1E6EBF1B003A77C8 /* Model */ = {
  1022 + isa = PBXGroup;
  1023 + children = (
  1024 + );
  1025 + path = Model;
  1026 + sourceTree = "<group>";
  1027 + };
  1028 + D2888D9D1E6EBF1B003A77C8 /* View */ = {
  1029 + isa = PBXGroup;
  1030 + children = (
  1031 + );
  1032 + path = View;
  1033 + sourceTree = "<group>";
  1034 + };
  1035 + D2888DA71E6EC014003A77C8 /* homeSections */ = {
  1036 + isa = PBXGroup;
  1037 + children = (
  1038 + D2888DA81E6EC014003A77C8 /* Controller */,
  1039 + D2888DA91E6EC014003A77C8 /* Model */,
  1040 + D2888DAA1E6EC014003A77C8 /* View */,
  1041 + );
  1042 + path = homeSections;
  1043 + sourceTree = "<group>";
  1044 + };
  1045 + D2888DA81E6EC014003A77C8 /* Controller */ = {
  1046 + isa = PBXGroup;
  1047 + children = (
  1048 + D2888DB21E6EC154003A77C8 /* HomeViewController.h */,
  1049 + D2888DB31E6EC154003A77C8 /* HomeViewController.m */,
  1050 + );
  1051 + path = Controller;
  1052 + sourceTree = "<group>";
  1053 + };
  1054 + D2888DA91E6EC014003A77C8 /* Model */ = {
  1055 + isa = PBXGroup;
  1056 + children = (
  1057 + );
  1058 + path = Model;
  1059 + sourceTree = "<group>";
  1060 + };
  1061 + D2888DAA1E6EC014003A77C8 /* View */ = {
  1062 + isa = PBXGroup;
  1063 + children = (
  1064 + );
  1065 + path = View;
  1066 + sourceTree = "<group>";
  1067 + };
  1068 + D2888DAB1E6EC014003A77C8 /* mySections */ = {
  1069 + isa = PBXGroup;
  1070 + children = (
  1071 + D2888DAC1E6EC014003A77C8 /* Controller */,
  1072 + D2888DAD1E6EC014003A77C8 /* Model */,
  1073 + D2888DAE1E6EC014003A77C8 /* View */,
  1074 + );
  1075 + path = mySections;
  1076 + sourceTree = "<group>";
  1077 + };
  1078 + D2888DAC1E6EC014003A77C8 /* Controller */ = {
  1079 + isa = PBXGroup;
  1080 + children = (
  1081 + D2888DB51E6EC1B8003A77C8 /* LVCMyViewController.h */,
  1082 + D2888DB61E6EC1B8003A77C8 /* LVCMyViewController.m */,
  1083 + );
  1084 + path = Controller;
  1085 + sourceTree = "<group>";
  1086 + };
  1087 + D2888DAD1E6EC014003A77C8 /* Model */ = {
  1088 + isa = PBXGroup;
  1089 + children = (
  1090 + );
  1091 + path = Model;
  1092 + sourceTree = "<group>";
  1093 + };
  1094 + D2888DAE1E6EC014003A77C8 /* View */ = {
  1095 + isa = PBXGroup;
  1096 + children = (
  1097 + );
  1098 + path = View;
  1099 + sourceTree = "<group>";
  1100 + };
980 1101 /* End PBXGroup section */
981 1102  
982 1103 /* Begin PBXNativeTarget section */
... ... @@ -1039,6 +1160,7 @@
1039 1160 D2029B791E6EAAA50027CD92 /* Project object */ = {
1040 1161 isa = PBXProject;
1041 1162 attributes = {
  1163 + CLASSPREFIX = LVC;
1042 1164 LastUpgradeCheck = 0820;
1043 1165 ORGANIZATIONNAME = cnlive;
1044 1166 TargetAttributes = {
... ... @@ -1140,6 +1262,7 @@
1140 1262 D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */,
1141 1263 D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */,
1142 1264 D2029CD01E6EADE10027CD92 /* SearchPresenter.m in Sources */,
  1265 + D2888DB71E6EC1B8003A77C8 /* LVCMyViewController.m in Sources */,
1143 1266 D2029CBE1E6EADE10027CD92 /* SDWebImagePrefetcher.m in Sources */,
1144 1267 D2029CCE1E6EADE10027CD92 /* SearchRecomListModel.m in Sources */,
1145 1268 D2029CA11E6EADE10027CD92 /* NSString+MJExtension.m in Sources */,
... ... @@ -1168,7 +1291,6 @@
1168 1291 D2029C8B1E6EADE10027CD92 /* AFURLResponseSerialization.m in Sources */,
1169 1292 D2029C921E6EADE10027CD92 /* UIImageView+AFNetworking.m in Sources */,
1170 1293 D2029C9E1E6EADE10027CD92 /* NSObject+MJCoding.m in Sources */,
1171   - D2029B8C1E6EAAA50027CD92 /* ViewController.m in Sources */,
1172 1294 D2029C991E6EADE10027CD92 /* MJFoundation.m in Sources */,
1173 1295 D2029C8A1E6EADE10027CD92 /* AFURLRequestSerialization.m in Sources */,
1174 1296 D2029D041E6EAE2E0027CD92 /* UILabel+ContentSize.m in Sources */,
... ... @@ -1176,6 +1298,7 @@
1176 1298 D2029B861E6EAAA50027CD92 /* main.m in Sources */,
1177 1299 D2029C8C1E6EADE10027CD92 /* AFURLSessionManager.m in Sources */,
1178 1300 D2029C9F1E6EADE10027CD92 /* NSObject+MJKeyValue.m in Sources */,
  1301 + D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */,
1179 1302 D2029CAC1E6EADE10027CD92 /* MJRefreshBackStateFooter.m in Sources */,
1180 1303 D2029CB11E6EADE10027CD92 /* MJRefreshConst.m in Sources */,
1181 1304 D2029CAD1E6EADE10027CD92 /* MJRefreshGifHeader.m in Sources */,
... ... @@ -1184,7 +1307,6 @@
1184 1307 D2029CB21E6EADE10027CD92 /* UIScrollView+MJExtension.m in Sources */,
1185 1308 D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */,
1186 1309 D2029C8E1E6EADE10027CD92 /* AFImageDownloader.m in Sources */,
1187   - D2029CCC1E6EADE10027CD92 /* HomeViewController.m in Sources */,
1188 1310 D2029BCA1E6EADD70027CD92 /* BaseModel.m in Sources */,
1189 1311 D2029D031E6EAE2E0027CD92 /* UIImage+ZXExtension.m in Sources */,
1190 1312 D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */,
... ... @@ -1196,6 +1318,7 @@
1196 1318 D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */,
1197 1319 D2029BCD1E6EADD70027CD92 /* BaseViewController.m in Sources */,
1198 1320 D2029D001E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m in Sources */,
  1321 + D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */,
1199 1322 D2029C951E6EADE10027CD92 /* UIWebView+AFNetworking.m in Sources */,
1200 1323 D2029CBD1E6EADE10027CD92 /* SDWebImageManager.m in Sources */,
1201 1324 D2029CB41E6EADE10027CD92 /* UIView+MJExtension.m in Sources */,
... ... @@ -1206,6 +1329,8 @@
1206 1329 D2029C881E6EADE10027CD92 /* AFNetworkReachabilityManager.m in Sources */,
1207 1330 D2029D021E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m in Sources */,
1208 1331 D2029BCC1E6EADD70027CD92 /* BaseView.m in Sources */,
  1332 + D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */,
  1333 + D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */,
1209 1334 D2029CD41E6EADE70027CD92 /* HttpService.m in Sources */,
1210 1335 );
1211 1336 runOnlyForDeploymentPostprocessing = 0;
... ...
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/View/LVCTabBar.h 0 → 100644
  1 +//
  2 +// LVCTabBar.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@class LVCTabBar;
  12 +
  13 +@protocol LVCTabBarDelegate <NSObject>
  14 +
  15 +-(void)liveBtnClick:(LVCTabBar *)tabBar;
  16 +
  17 +@end
  18 +
  19 +@interface LVCTabBar : UITabBar
  20 +
  21 +@property (nonatomic,weak) id<LVCTabBarDelegate> LVCTabBarDelegate;
  22 +
  23 +@end
... ...
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/View/LVCTabBar.m 0 → 100644
  1 +
  2 +//
  3 +// LVCTabBar.m
  4 +// LiveVideoCloud
  5 +//
  6 +// Created by 张旭 on 2017/3/7.
  7 +// Copyright © 2017年 cnlive. All rights reserved.
  8 +//
  9 +
  10 +#import "LVCTabBar.h"
  11 +#import "UIView+Extension.h"
  12 +
  13 +@interface LVCTabBar()
  14 +
  15 +@property (nonatomic ,strong)UIButton *liveBtn;
  16 +
  17 +@end
  18 +
  19 +@implementation LVCTabBar
  20 +
  21 +- (instancetype)initWithFrame:(CGRect)frame
  22 +{
  23 + if (self = [super initWithFrame:frame]) {
  24 +
  25 + // self.backgroundImage = [UIImage imageNamed:@""];
  26 + }
  27 + return self;
  28 +}
  29 +
  30 +- (UIButton *)liveBtn
  31 +{
  32 + if (!_liveBtn) {
  33 +
  34 + _liveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  35 + [_liveBtn setImage:[UIImage imageNamed:@"Begin to live"] forState:UIControlStateNormal];
  36 + [_liveBtn addTarget:self action:@selector(liveBtnClick) forControlEvents:UIControlEventTouchUpInside];
  37 + [self addSubview:_liveBtn];
  38 + }
  39 + return _liveBtn;
  40 +}
  41 +
  42 +- (void)layoutSubviews
  43 +{
  44 + [super layoutSubviews];
  45 +
  46 + self.liveBtn.top = self.height - 195 / 3;
  47 + _liveBtn.left = SCREEN_WIDTH * 0.5 - 195 / 6;
  48 + _liveBtn.width = 195 / 3;
  49 + _liveBtn.height = 195 / 3;
  50 +
  51 + CGFloat buttonY = 19 - 3;//19 - 3.5;
  52 + CGFloat buttonW = (self.width - 195 / 3)/ 2;
  53 + CGFloat buttonH = 30;
  54 +
  55 + NSInteger index = 0;
  56 + for (UIView *subView in self.subviews) {
  57 + if(subView.class != NSClassFromString(@"UITabBarButton"))continue;
  58 +
  59 + CGFloat buttonX = index * buttonW;
  60 + if (index >= 1)
  61 + {
  62 + buttonX += 195 / 3;
  63 + }
  64 +
  65 + subView.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH);
  66 + // 增加索引
  67 + index++;
  68 + }
  69 +}
  70 +
  71 +//直播按钮点击事件
  72 +- (void)liveBtnClick
  73 +{
  74 + if([self.LVCTabBarDelegate respondsToSelector:@selector(liveBtnClick:)])
  75 + {
  76 + [self.LVCTabBarDelegate liveBtnClick:self];
  77 + }
  78 +}
  79 +@end
... ...
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXNavigationController.m
... ... @@ -22,7 +22,7 @@
22 22 self.interactivePopGestureRecognizer.delegate = self;
23 23 self.interactivePopGestureRecognizer.enabled = YES;
24 24  
25   - [[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
  25 + [[UINavigationBar appearance] setBarTintColor:[UIColor blackColorZX]];
26 26 }
27 27  
28 28 /**
... ...
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXTabBarController.m
... ... @@ -9,8 +9,11 @@
9 9 #import "ZXTabBarController.h"
10 10 #import "ZXNavigationController.h"
11 11 #import "HomeViewController.h"
  12 +#import "LVCLiveViewController.h"
  13 +#import "LVCMyViewController.h"
  14 +#import "LVCTabBar.h"
12 15  
13   -@interface ZXTabBarController ()
  16 +@interface ZXTabBarController ()<LVCTabBarDelegate>
14 17  
15 18 @end
16 19  
... ... @@ -20,12 +23,13 @@
20 23 [super viewDidLoad];
21 24 // Do any additional setup after loading the view.
22 25  
23   - [[UITabBar appearance] setBarTintColor:[UIColor whiteColor]];
  26 + [[UITabBar appearance] setBarTintColor:[UIColor blackColorZX]];
24 27 //取消tabBar的透明效果
25 28 [UITabBar appearance].translucent = NO;
26 29  
27 30 [self setupItemTitleTextAttributes];
28 31 [self createUI];
  32 + [self setTabBar];
29 33 }
30 34  
31 35 - (void)setupItemTitleTextAttributes
... ... @@ -44,7 +48,8 @@
44 48  
45 49 - (void)createUI
46 50 {
47   - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"首页" image:@"home page" selectedImage:@"home page-click on"];
  51 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"];
  52 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCMyViewController alloc]init]] title:@"" image:@"my" selectedImage:@"my-click on"];
48 53 }
49 54  
50 55 - (void)setupOneChildViewController:(UIViewController *)vc title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage
... ... @@ -61,6 +66,31 @@
61 66 [self addChildViewController:vc];
62 67 }
63 68  
  69 +- (void)setTabBar
  70 +{
  71 + LVCTabBar *tabbar = [[LVCTabBar alloc] init];
  72 + [self setValue:tabbar forKeyPath:@"tabBar"];
  73 + tabbar.LVCTabBarDelegate = self;
  74 +}
  75 +
  76 +
  77 +#pragma mark - LVCTabBarDelegate
  78 +
  79 +-(void)liveBtnClick:(LVCTabBar *)tabBar
  80 +{
  81 +// if ([UserTools isLogin]) {
  82 + LVCLiveViewController *liveCtrl = [[LVCLiveViewController alloc] init];
  83 + [self presentViewController:liveCtrl animated:YES completion:nil];
  84 +// }else {
  85 +// LoginViewController *loginCtrl = [[LoginViewController alloc] init];
  86 +// ZXNavigationController *navCtrl = [[ZXNavigationController alloc] initWithRootViewController:loginCtrl];
  87 +// loginCtrl.isModalButton = YES;
  88 +// [self presentViewController:navCtrl animated:YES completion:NULL];
  89 +// }
  90 +
  91 +}
  92 +
  93 +
64 94 -(BOOL)shouldAutorotate{
65 95 return NO;
66 96 }
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/AppIcon.appiconset/Contents.json
... ... @@ -2,6 +2,16 @@
2 2 "images" : [
3 3 {
4 4 "idiom" : "iphone",
  5 + "size" : "20x20",
  6 + "scale" : "2x"
  7 + },
  8 + {
  9 + "idiom" : "iphone",
  10 + "size" : "20x20",
  11 + "scale" : "3x"
  12 + },
  13 + {
  14 + "idiom" : "iphone",
5 15 "size" : "29x29",
6 16 "scale" : "2x"
7 17 },
... ... @@ -32,6 +42,16 @@
32 42 },
33 43 {
34 44 "idiom" : "ipad",
  45 + "size" : "20x20",
  46 + "scale" : "1x"
  47 + },
  48 + {
  49 + "idiom" : "ipad",
  50 + "size" : "20x20",
  51 + "scale" : "2x"
  52 + },
  53 + {
  54 + "idiom" : "ipad",
35 55 "size" : "29x29",
36 56 "scale" : "1x"
37 57 },
... ... @@ -59,6 +79,11 @@
59 79 "idiom" : "ipad",
60 80 "size" : "76x76",
61 81 "scale" : "2x"
  82 + },
  83 + {
  84 + "idiom" : "ipad",
  85 + "size" : "83.5x83.5",
  86 + "scale" : "2x"
62 87 }
63 88 ],
64 89 "info" : {
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Begin to live.imageset/Begin to live.png 0 → 100644

11.6 KB

LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Begin to live.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "filename" : "Begin to live.png",
  6 + "scale" : "1x"
  7 + },
  8 + {
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "idiom" : "universal",
  14 + "scale" : "3x"
  15 + }
  16 + ],
  17 + "info" : {
  18 + "version" : 1,
  19 + "author" : "xcode"
  20 + },
  21 + "properties" : {
  22 + "template-rendering-intent" : "original"
  23 + }
  24 +}
0 25 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/Contents.json 0 → 100644
  1 +{
  2 + "info" : {
  3 + "version" : 1,
  4 + "author" : "xcode"
  5 + }
  6 +}
0 7 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/home page-click on.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "idiom" : "universal",
  9 + "scale" : "2x"
  10 + },
  11 + {
  12 + "idiom" : "universal",
  13 + "filename" : "home page-click on.png",
  14 + "scale" : "3x"
  15 + }
  16 + ],
  17 + "info" : {
  18 + "version" : 1,
  19 + "author" : "xcode"
  20 + },
  21 + "properties" : {
  22 + "template-rendering-intent" : "original"
  23 + }
  24 +}
0 25 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/home page-click on.imageset/home page-click on.png 0 → 100644

2.93 KB

LiveVideoCloud/LiveVideoCloud/Assets.xcassets/home page.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "idiom" : "universal",
  9 + "scale" : "2x"
  10 + },
  11 + {
  12 + "idiom" : "universal",
  13 + "filename" : "home page.png",
  14 + "scale" : "3x"
  15 + }
  16 + ],
  17 + "info" : {
  18 + "version" : 1,
  19 + "author" : "xcode"
  20 + },
  21 + "properties" : {
  22 + "template-rendering-intent" : "original"
  23 + }
  24 +}
0 25 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/home page.imageset/home page.png 0 → 100644

2.68 KB

LiveVideoCloud/LiveVideoCloud/Assets.xcassets/my-click on.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "idiom" : "universal",
  9 + "scale" : "2x"
  10 + },
  11 + {
  12 + "idiom" : "universal",
  13 + "filename" : "my-click on.png",
  14 + "scale" : "3x"
  15 + }
  16 + ],
  17 + "info" : {
  18 + "version" : 1,
  19 + "author" : "xcode"
  20 + },
  21 + "properties" : {
  22 + "template-rendering-intent" : "original"
  23 + }
  24 +}
0 25 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/my-click on.imageset/my-click on.png 0 → 100644

3.01 KB

LiveVideoCloud/LiveVideoCloud/Assets.xcassets/my.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "idiom" : "universal",
  9 + "scale" : "2x"
  10 + },
  11 + {
  12 + "idiom" : "universal",
  13 + "filename" : "my.png",
  14 + "scale" : "3x"
  15 + }
  16 + ],
  17 + "info" : {
  18 + "version" : 1,
  19 + "author" : "xcode"
  20 + },
  21 + "properties" : {
  22 + "template-rendering-intent" : "original"
  23 + }
  24 +}
0 25 \ No newline at end of file
... ...
LiveVideoCloud/LiveVideoCloud/Assets.xcassets/my.imageset/my.png 0 → 100644

2.89 KB

LiveVideoCloud/LiveVideoCloud/ViewController.h renamed to LiveVideoCloud/LiveVideoCloud/Classes/Sections/LiveSections/Controller/LVCLiveViewController.h
1 1 //
2   -// ViewController.h
  2 +// LVCLiveViewController.h
3 3 // LiveVideoCloud
4 4 //
5 5 // Created by 张旭 on 2017/3/7.
6 6 // Copyright © 2017年 cnlive. All rights reserved.
7 7 //
8 8  
9   -#import <UIKit/UIKit.h>
10   -
11   -@interface ViewController : UIViewController
  9 +#import "BaseViewController.h"
12 10  
  11 +@interface LVCLiveViewController : BaseViewController
13 12  
14 13 @end
15   -
... ...
LiveVideoCloud/LiveVideoCloud/Classes/Sections/LiveSections/Controller/LVCLiveViewController.m 0 → 100644
  1 +//
  2 +// LVCLiveViewController.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCLiveViewController.h"
  10 +
  11 +@interface LVCLiveViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation LVCLiveViewController
  16 +
  17 +- (void)viewDidLoad {
  18 + [super viewDidLoad];
  19 + // Do any additional setup after loading the view.
  20 + self.view.backgroundColor = [UIColor blueColor];
  21 +
  22 + UIButton *closeBtn = [[UIButton alloc] initWithFrame:CGRectMake(SCREEN_WIDTH - 50, 30, 50, 30)];
  23 + [closeBtn setTitle:@"关闭" forState:UIControlStateNormal];
  24 + [closeBtn addTarget:self action:@selector(closeBtnClivk) forControlEvents:UIControlEventTouchUpInside];
  25 + [self.view addSubview:closeBtn];
  26 +}
  27 +
  28 +- (void)closeBtnClivk
  29 +{
  30 + [self dismissViewControllerAnimated:YES completion:nil];
  31 +}
  32 +
  33 +- (void)didReceiveMemoryWarning {
  34 + [super didReceiveMemoryWarning];
  35 + // Dispose of any resources that can be recreated.
  36 +}
  37 +
  38 +/*
  39 +#pragma mark - Navigation
  40 +
  41 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  42 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  43 + // Get the new view controller using [segue destinationViewController].
  44 + // Pass the selected object to the new view controller.
  45 +}
  46 +*/
  47 +
  48 +@end
... ...
LiveVideoCloud/LiveVideoCloud/Classes/Sections/ZXSections/Home/Controller/TempViewController.h 0 → 100644
  1 +//
  2 +// TempViewController.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseViewController.h"
  10 +
  11 +@interface TempViewController : BaseViewController
  12 +
  13 +@end
... ...
LiveVideoCloud/LiveVideoCloud/Classes/Sections/ZXSections/Home/Controller/HomeViewController.m renamed to LiveVideoCloud/LiveVideoCloud/Classes/Sections/ZXSections/Home/Controller/TempViewController.m
1 1 //
2   -// HomeViewController.m
3   -// ZXBaseProject
  2 +// TempViewController.m
  3 +// LiveVideoCloud
4 4 //
5   -// Created by 张旭 on 2017/1/10.
  5 +// Created by 张旭 on 2017/3/7.
6 6 // Copyright © 2017年 cnlive. All rights reserved.
7 7 //
8 8  
9   -#import "HomeViewController.h"
  9 +#import "TempViewController.h"
10 10 #import "SearchPresenter.h"
11 11 //#import "SearchHttp.h"
12 12 //#import "SearchModel.h"
13 13 //#import "SearchRecomListModel.h"
14   -
15   -@interface HomeViewController ()
  14 +@interface TempViewController ()
16 15  
17 16 @property (nonatomic ,strong) SearchPresenter *presenter;
18 17  
19 18 @end
20 19  
21   -@implementation HomeViewController
  20 +@implementation TempViewController
22 21  
23 22 - (void)viewDidLoad {
24 23 [super viewDidLoad];
... ... @@ -28,7 +27,7 @@
28 27  
29 28 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
30 29 {
31   - HomeViewController *vc = [HomeViewController new];
  30 + TempViewController *vc = [TempViewController new];
32 31 vc.view.backgroundColor = ZXRandomColor;
33 32 [self.navigationController pushViewController:vc animated:YES];
34 33 }
... ... @@ -42,11 +41,6 @@
42 41 }];
43 42 }
44 43  
45   -- (void)didReceiveMemoryWarning {
46   - [super didReceiveMemoryWarning];
47   - // Dispose of any resources that can be recreated.
48   -}
49   -
50 44 - (SearchPresenter *)presenter
51 45 {
52 46 if (!_presenter)
... ... @@ -55,6 +49,13 @@
55 49 }
56 50 return _presenter;
57 51 }
  52 +
  53 +
  54 +- (void)didReceiveMemoryWarning {
  55 + [super didReceiveMemoryWarning];
  56 + // Dispose of any resources that can be recreated.
  57 +}
  58 +
58 59 /*
59 60 #pragma mark - Navigation
60 61  
... ...
LiveVideoCloud/LiveVideoCloud/Classes/Sections/ZXSections/Home/Controller/HomeViewController.h renamed to LiveVideoCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.h
LiveVideoCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.m 0 → 100644
  1 +//
  2 +// HomeViewController.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "HomeViewController.h"
  10 +
  11 +@interface HomeViewController ()
  12 +
  13 +
  14 +@end
  15 +
  16 +@implementation HomeViewController
  17 +
  18 +- (void)viewDidLoad {
  19 + [super viewDidLoad];
  20 + // Do any additional setup after loading the view.
  21 + self.view.backgroundColor = [UIColor redColor];
  22 + self.navigationItem.title = @"首页";
  23 +}
  24 +
  25 +- (void)didReceiveMemoryWarning {
  26 + [super didReceiveMemoryWarning];
  27 + // Dispose of any resources that can be recreated.
  28 +}
  29 +
  30 +/*
  31 +#pragma mark - Navigation
  32 +
  33 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  34 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  35 + // Get the new view controller using [segue destinationViewController].
  36 + // Pass the selected object to the new view controller.
  37 +}
  38 +*/
  39 +
  40 +@end
... ...
LiveVideoCloud/LiveVideoCloud/Classes/Sections/mySections/Controller/LVCMyViewController.h 0 → 100644
  1 +//
  2 +// LVCMyViewController.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseViewController.h"
  10 +
  11 +@interface LVCMyViewController : BaseViewController
  12 +
  13 +@end
... ...
LiveVideoCloud/LiveVideoCloud/ViewController.m renamed to LiveVideoCloud/LiveVideoCloud/Classes/Sections/mySections/Controller/LVCMyViewController.m
1 1 //
2   -// ViewController.m
  2 +// LVCMyViewController.m
3 3 // LiveVideoCloud
4 4 //
5 5 // Created by 张旭 on 2017/3/7.
6 6 // Copyright © 2017年 cnlive. All rights reserved.
7 7 //
8 8  
9   -#import "ViewController.h"
  9 +#import "LVCMyViewController.h"
10 10  
11   -@interface ViewController ()
  11 +@interface LVCMyViewController ()
12 12  
13 13 @end
14 14  
15   -@implementation ViewController
  15 +@implementation LVCMyViewController
16 16  
17 17 - (void)viewDidLoad {
18 18 [super viewDidLoad];
19   - // Do any additional setup after loading the view, typically from a nib.
20   -
  19 + // Do any additional setup after loading the view.
  20 + self.view.backgroundColor = [UIColor whiteColor];
  21 + self.navigationItem.title = @"我的";
21 22 }
22 23  
23   -
24 24 - (void)didReceiveMemoryWarning {
25 25 [super didReceiveMemoryWarning];
26 26 // Dispose of any resources that can be recreated.
27 27 }
28 28  
  29 +/*
  30 +#pragma mark - Navigation
  31 +
  32 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  33 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  34 + // Get the new view controller using [segue destinationViewController].
  35 + // Pass the selected object to the new view controller.
  36 +}
  37 +*/
29 38  
30 39 @end
... ...