Commit 1ac7bee4198d464ed9d5d03c3ce1d70dc484f5c9
1 parent
f6b3010f
获取频道列表并显示
Showing
11 changed files
with
380 additions
and
49 deletions
LiveVideoCloud.xcodeproj/project.pbxproj
| ... | ... | @@ -108,7 +108,6 @@ |
| 108 | 108 | 81A483201E88F4BF0097A80A /* LVCProgramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */; }; |
| 109 | 109 | 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */; }; |
| 110 | 110 | 81F1C8381E8BBDDA0085C2B8 /* MHPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; |
| 111 | - 81F1C83D1E8BBDE40085C2B8 /* V8HorizontalPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; | |
| 112 | 111 | 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; }; |
| 113 | 112 | 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */; }; |
| 114 | 113 | D2029B861E6EAAA50027CD92 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B851E6EAAA50027CD92 /* main.m */; }; |
| ... | ... | @@ -197,6 +196,8 @@ |
| 197 | 196 | D209AD6B1EC580F100D82E3B /* LVCWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD6A1EC580F100D82E3B /* LVCWebViewController.m */; }; |
| 198 | 197 | D209AD6E1EC583B700D82E3B /* MineMessageController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD6D1EC583B700D82E3B /* MineMessageController.m */; }; |
| 199 | 198 | D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD701EC583D100D82E3B /* MineAccountController.m */; }; |
| 199 | + D20C82BE1EEEA89700BB609F /* LVCHomePageListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */; }; | |
| 200 | + D214CB4F1EF7BD890014EEBA /* V8HorizontalPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; | |
| 200 | 201 | D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2471E7B76C7003B44CB /* PresentView.m */; }; |
| 201 | 202 | D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2491E7B76C7003B44CB /* PresentViewCell.m */; }; |
| 202 | 203 | D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A24D1E7B77C7003B44CB /* ComboCell.m */; }; |
| ... | ... | @@ -205,6 +206,7 @@ |
| 205 | 206 | D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FB1E77C2D900627701 /* BottomToolView.m */; }; |
| 206 | 207 | D22830FF1E77C69E00627701 /* GiftListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FE1E77C69E00627701 /* GiftListView.m */; }; |
| 207 | 208 | D22831091E77D8D500627701 /* GiftModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D22831081E77D8D500627701 /* GiftModel.m */; }; |
| 209 | + D233EE721EEA88EF00674ED5 /* LVCHomePageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */; }; | |
| 208 | 210 | D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */; }; |
| 209 | 211 | D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696831E7FC6A900E4BF71 /* chatListCell.m */; }; |
| 210 | 212 | D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696911E7FC83800E4BF71 /* chatMsgModel.m */; }; |
| ... | ... | @@ -500,9 +502,6 @@ |
| 500 | 502 | 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRequestFailedView.m; sourceTree = "<group>"; }; |
| 501 | 503 | 81F1C8361E8BBDDA0085C2B8 /* MHPagingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHPagingScrollView.h; sourceTree = "<group>"; }; |
| 502 | 504 | 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHPagingScrollView.m; sourceTree = "<group>"; }; |
| 503 | - 81F1C83A1E8BBDE40085C2B8 /* V8HorizontalPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerView.h; sourceTree = "<group>"; }; | |
| 504 | - 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = V8HorizontalPickerView.m; sourceTree = "<group>"; }; | |
| 505 | - 81F1C83C1E8BBDE40085C2B8 /* V8HorizontalPickerViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerViewProtocol.h; sourceTree = "<group>"; }; | |
| 506 | 505 | 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Safety.h"; sourceTree = "<group>"; }; |
| 507 | 506 | 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Safety.m"; sourceTree = "<group>"; }; |
| 508 | 507 | 81FB5B3A1E7A6FFC00F98E1D /* SevenSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SevenSwitch.h; sourceTree = "<group>"; }; |
| ... | ... | @@ -691,6 +690,11 @@ |
| 691 | 690 | D209AD6D1EC583B700D82E3B /* MineMessageController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineMessageController.m; sourceTree = "<group>"; }; |
| 692 | 691 | D209AD6F1EC583D100D82E3B /* MineAccountController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineAccountController.h; sourceTree = "<group>"; }; |
| 693 | 692 | D209AD701EC583D100D82E3B /* MineAccountController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineAccountController.m; sourceTree = "<group>"; }; |
| 693 | + D20C82BC1EEEA89700BB609F /* LVCHomePageListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCHomePageListModel.h; sourceTree = "<group>"; }; | |
| 694 | + D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCHomePageListModel.m; sourceTree = "<group>"; }; | |
| 695 | + D214CB4C1EF7BD890014EEBA /* V8HorizontalPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerView.h; sourceTree = "<group>"; }; | |
| 696 | + D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = V8HorizontalPickerView.m; sourceTree = "<group>"; }; | |
| 697 | + D214CB4E1EF7BD890014EEBA /* V8HorizontalPickerViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerViewProtocol.h; sourceTree = "<group>"; }; | |
| 694 | 698 | D217A2451E7B76C7003B44CB /* PresentModelAble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentModelAble.h; sourceTree = "<group>"; }; |
| 695 | 699 | D217A2461E7B76C7003B44CB /* PresentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentView.h; sourceTree = "<group>"; }; |
| 696 | 700 | D217A2471E7B76C7003B44CB /* PresentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentView.m; sourceTree = "<group>"; }; |
| ... | ... | @@ -708,6 +712,8 @@ |
| 708 | 712 | D22830FE1E77C69E00627701 /* GiftListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftListView.m; sourceTree = "<group>"; }; |
| 709 | 713 | D22831071E77D8D500627701 /* GiftModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftModel.h; sourceTree = "<group>"; }; |
| 710 | 714 | D22831081E77D8D500627701 /* GiftModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftModel.m; sourceTree = "<group>"; }; |
| 715 | + D233EE701EEA88EF00674ED5 /* LVCHomePageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCHomePageViewController.h; path = ../LVCHomePageViewController.h; sourceTree = "<group>"; }; | |
| 716 | + D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCHomePageViewController.m; path = ../LVCHomePageViewController.m; sourceTree = "<group>"; }; | |
| 711 | 717 | D236967C1E7F9E4100E4BF71 /* GiftPayButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftPayButton.h; sourceTree = "<group>"; }; |
| 712 | 718 | D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftPayButton.m; sourceTree = "<group>"; }; |
| 713 | 719 | D23696821E7FC6A900E4BF71 /* chatListCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatListCell.h; sourceTree = "<group>"; }; |
| ... | ... | @@ -1145,16 +1151,6 @@ |
| 1145 | 1151 | path = MHPagingScrollView; |
| 1146 | 1152 | sourceTree = "<group>"; |
| 1147 | 1153 | }; |
| 1148 | - 81F1C8391E8BBDE40085C2B8 /* V8HorizontalPickerView */ = { | |
| 1149 | - isa = PBXGroup; | |
| 1150 | - children = ( | |
| 1151 | - 81F1C83A1E8BBDE40085C2B8 /* V8HorizontalPickerView.h */, | |
| 1152 | - 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */, | |
| 1153 | - 81F1C83C1E8BBDE40085C2B8 /* V8HorizontalPickerViewProtocol.h */, | |
| 1154 | - ); | |
| 1155 | - path = V8HorizontalPickerView; | |
| 1156 | - sourceTree = "<group>"; | |
| 1157 | - }; | |
| 1158 | 1154 | 81FB5B391E7A6FFC00F98E1D /* SevenSwitch */ = { |
| 1159 | 1155 | isa = PBXGroup; |
| 1160 | 1156 | children = ( |
| ... | ... | @@ -1288,8 +1284,8 @@ |
| 1288 | 1284 | D2029BD41E6EADE10027CD92 /* SDK */ = { |
| 1289 | 1285 | isa = PBXGroup; |
| 1290 | 1286 | children = ( |
| 1287 | + D214CB4B1EF7BD890014EEBA /* V8HorizontalPickerView */, | |
| 1291 | 1288 | 4BD855D41EBACD530082061D /* AFNetworking */, |
| 1292 | - 81F1C8391E8BBDE40085C2B8 /* V8HorizontalPickerView */, | |
| 1293 | 1289 | 81F1C8351E8BBDDA0085C2B8 /* MHPagingScrollView */, |
| 1294 | 1290 | 81FB5B391E7A6FFC00F98E1D /* SevenSwitch */, |
| 1295 | 1291 | 810B64E41E779B1F00133E15 /* Masonry */, |
| ... | ... | @@ -1527,6 +1523,7 @@ |
| 1527 | 1523 | D2888D951E6EBAA7003A77C8 /* LiveSections */, |
| 1528 | 1524 | D2575C431E76846900E3A8FC /* InteractionSections */, |
| 1529 | 1525 | D2029C751E6EADE10027CD92 /* ZXSections(例子) */, |
| 1526 | + D233EE731EEA8A1500674ED5 /* HomePageSections */, | |
| 1530 | 1527 | ); |
| 1531 | 1528 | path = Sections; |
| 1532 | 1529 | sourceTree = "<group>"; |
| ... | ... | @@ -1720,6 +1717,25 @@ |
| 1720 | 1717 | name = Model; |
| 1721 | 1718 | sourceTree = "<group>"; |
| 1722 | 1719 | }; |
| 1720 | + D20C82BF1EEEA89E00BB609F /* Model */ = { | |
| 1721 | + isa = PBXGroup; | |
| 1722 | + children = ( | |
| 1723 | + D20C82BC1EEEA89700BB609F /* LVCHomePageListModel.h */, | |
| 1724 | + D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */, | |
| 1725 | + ); | |
| 1726 | + name = Model; | |
| 1727 | + sourceTree = "<group>"; | |
| 1728 | + }; | |
| 1729 | + D214CB4B1EF7BD890014EEBA /* V8HorizontalPickerView */ = { | |
| 1730 | + isa = PBXGroup; | |
| 1731 | + children = ( | |
| 1732 | + D214CB4C1EF7BD890014EEBA /* V8HorizontalPickerView.h */, | |
| 1733 | + D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */, | |
| 1734 | + D214CB4E1EF7BD890014EEBA /* V8HorizontalPickerViewProtocol.h */, | |
| 1735 | + ); | |
| 1736 | + path = V8HorizontalPickerView; | |
| 1737 | + sourceTree = "<group>"; | |
| 1738 | + }; | |
| 1723 | 1739 | D217A2441E7B76C7003B44CB /* Present */ = { |
| 1724 | 1740 | isa = PBXGroup; |
| 1725 | 1741 | children = ( |
| ... | ... | @@ -1789,6 +1805,24 @@ |
| 1789 | 1805 | path = GiftModel; |
| 1790 | 1806 | sourceTree = "<group>"; |
| 1791 | 1807 | }; |
| 1808 | + D233EE731EEA8A1500674ED5 /* HomePageSections */ = { | |
| 1809 | + isa = PBXGroup; | |
| 1810 | + children = ( | |
| 1811 | + D233EE741EEE26C700674ED5 /* Controller */, | |
| 1812 | + D20C82BF1EEEA89E00BB609F /* Model */, | |
| 1813 | + ); | |
| 1814 | + path = HomePageSections; | |
| 1815 | + sourceTree = "<group>"; | |
| 1816 | + }; | |
| 1817 | + D233EE741EEE26C700674ED5 /* Controller */ = { | |
| 1818 | + isa = PBXGroup; | |
| 1819 | + children = ( | |
| 1820 | + D233EE701EEA88EF00674ED5 /* LVCHomePageViewController.h */, | |
| 1821 | + D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */, | |
| 1822 | + ); | |
| 1823 | + name = Controller; | |
| 1824 | + sourceTree = "<group>"; | |
| 1825 | + }; | |
| 1792 | 1826 | D236968F1E7FC83800E4BF71 /* ChatMsgModel */ = { |
| 1793 | 1827 | isa = PBXGroup; |
| 1794 | 1828 | children = ( |
| ... | ... | @@ -2229,12 +2263,12 @@ |
| 2229 | 2263 | D2029CC31E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m in Sources */, |
| 2230 | 2264 | D22830FF1E77C69E00627701 /* GiftListView.m in Sources */, |
| 2231 | 2265 | 4B45CE8A1EB86A590079AFB7 /* LVCPersonCommonCell.m in Sources */, |
| 2232 | - 81F1C83D1E8BBDE40085C2B8 /* V8HorizontalPickerView.m in Sources */, | |
| 2233 | 2266 | D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */, |
| 2234 | 2267 | 4B45CE851EB86A590079AFB7 /* LVCClearCachesCell.m in Sources */, |
| 2235 | 2268 | D25BF8831E7F775F007FB138 /* LVCUGCPlayerLoadingView.m in Sources */, |
| 2236 | 2269 | 81A4831A1E88E19C0097A80A /* LVCMoreProgramViewController.m in Sources */, |
| 2237 | 2270 | 4B45CE9B1EB86A760079AFB7 /* ZXUIKit.m in Sources */, |
| 2271 | + D214CB4F1EF7BD890014EEBA /* V8HorizontalPickerView.m in Sources */, | |
| 2238 | 2272 | D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */, |
| 2239 | 2273 | D2029CB81E6EADE10027CD92 /* SDImageCache.m in Sources */, |
| 2240 | 2274 | D2029CBB1E6EADE10027CD92 /* SDWebImageDownloader.m in Sources */, |
| ... | ... | @@ -2323,6 +2357,7 @@ |
| 2323 | 2357 | D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */, |
| 2324 | 2358 | D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */, |
| 2325 | 2359 | 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */, |
| 2360 | + D233EE721EEA88EF00674ED5 /* LVCHomePageViewController.m in Sources */, | |
| 2326 | 2361 | D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */, |
| 2327 | 2362 | 4BD8560A1EBACD530082061D /* UIWebView+AFNetworking.m in Sources */, |
| 2328 | 2363 | 4B45CE831EB86A590079AFB7 /* LVCMineModel.m in Sources */, |
| ... | ... | @@ -2426,6 +2461,7 @@ |
| 2426 | 2461 | 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */, |
| 2427 | 2462 | D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */, |
| 2428 | 2463 | 810B650A1E77B39D00133E15 /* LVCFullScreenPlayerController.m in Sources */, |
| 2464 | + D20C82BE1EEEA89700BB609F /* LVCHomePageListModel.m in Sources */, | |
| 2429 | 2465 | 4B42A6C71EC0171800DA09D7 /* PlayRecordCell.m in Sources */, |
| 2430 | 2466 | D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */, |
| 2431 | 2467 | D2029CBD1E6EADE10027CD92 /* SDWebImageManager.m in Sources */, | ... | ... |
LiveVideoCloud/AppCustoms/Main/ZXTabBarController.m
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | #import "LVCMineViewController.h" |
| 14 | 14 | #import "LVCTabBar.h" |
| 15 | 15 | #import "LoginViewController.h" |
| 16 | - | |
| 16 | +#import "LVCHomePageViewController.h" | |
| 17 | 17 | #import "LVCMineViewController.h"// |
| 18 | 18 | |
| 19 | 19 | @interface ZXTabBarController ()<LVCTabBarDelegate> |
| ... | ... | @@ -51,8 +51,8 @@ |
| 51 | 51 | |
| 52 | 52 | - (void)createUI |
| 53 | 53 | { |
| 54 | - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"]; | |
| 55 | - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[UIViewController alloc]init]] title:@"" image:@"live_default" selectedImage:@"live_focused"]; | |
| 54 | + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCHomePageViewController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"]; | |
| 55 | + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"live_default" selectedImage:@"live_focused"]; | |
| 56 | 56 | [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[UIViewController alloc]init]] title:@"" image:@"news_default" selectedImage:@"news_focused"]; |
| 57 | 57 | [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCMineViewController alloc]init]] title:@"" image:@"my" selectedImage:@"my-click on"]; |
| 58 | 58 | } | ... | ... |
LiveVideoCloud/Classes/SDK/V8HorizontalPickerView/V8HorizontalPickerView.m
| ... | ... | @@ -412,8 +412,8 @@ |
| 412 | 412 | if (_currentBg) { |
| 413 | 413 | if (_isChatRoom && [_isChatRoom isEqualToString:@"yes"]) { |
| 414 | 414 | |
| 415 | - CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height - 1; | |
| 416 | - CGFloat height = self.plugins ? 27 : 1; | |
| 415 | + CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height - 4; | |
| 416 | + CGFloat height = self.plugins ? 27 : 4; | |
| 417 | 417 | _currentBg.frame = CGRectMake(0, y, 0, height); |
| 418 | 418 | _currentBg.backgroundColor = [UIColor whiteColor]; |
| 419 | 419 | } |
| ... | ... | @@ -523,28 +523,25 @@ |
| 523 | 523 | [_scrollView addGestureRecognizer:tapRecognizer]; |
| 524 | 524 | [tapRecognizer release]; |
| 525 | 525 | |
| 526 | - /* | |
| 527 | - //V8下面的细线 | |
| 528 | - if (self.plugins || self.myVideos || self.home) { | |
| 529 | - | |
| 530 | - CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height - 1; | |
| 531 | - CGFloat height = self.plugins ? 27 : 1; | |
| 532 | - | |
| 533 | - _currentBg = [[UIImageView alloc]init]; | |
| 534 | - _currentBg = [[UIView alloc] initWithFrame:CGRectMake(0, y, 0, height)]; | |
| 535 | - _currentBg.tag = CurrentBgTag; | |
| 536 | - _currentBg.backgroundColor = self.plugins ? [UIColor colorWithHexString:@"#fff100"] : [UIColor whiteColor]; | |
| 537 | - _currentBg.layer.borderColor = [UIColor colorWithHexString:@"#f6e80e"].CGColor; | |
| 538 | - _currentBg.layer.borderWidth = 0.5; | |
| 539 | - | |
| 540 | - if (self.plugins) { | |
| 541 | - _currentBg.layer.cornerRadius = 13.5; | |
| 542 | - _currentBg.layer.masksToBounds = YES; | |
| 543 | - | |
| 544 | - } | |
| 545 | - [_scrollView addSubview:_currentBg]; | |
| 546 | - } | |
| 547 | - */ | |
| 526 | + if (self.plugins || self.myVideos || self.home) { | |
| 527 | + | |
| 528 | + CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height - 4; | |
| 529 | + CGFloat height = self.plugins ? 27 : 4; | |
| 530 | + | |
| 531 | + _currentBg = [[UIImageView alloc]init]; | |
| 532 | + _currentBg = [[UIView alloc] initWithFrame:CGRectMake(0, y, 0, height)]; | |
| 533 | + _currentBg.tag = CurrentBgTag; | |
| 534 | + _currentBg.backgroundColor = self.plugins ? [UIColor colorWithHexString:@"#fff100"] : [UIColor yellowColorCNLive]; | |
| 535 | + _currentBg.layer.borderColor = [UIColor colorWithHexString:@"#f6e80e"].CGColor; | |
| 536 | + _currentBg.layer.borderWidth = 0.5; | |
| 537 | + | |
| 538 | + if (self.plugins) { | |
| 539 | + _currentBg.layer.cornerRadius = 13.5; | |
| 540 | + _currentBg.layer.masksToBounds = YES; | |
| 541 | + | |
| 542 | + } | |
| 543 | + [_scrollView addSubview:_currentBg]; | |
| 544 | + } | |
| 548 | 545 | |
| 549 | 546 | [self addSubview:_scrollView]; |
| 550 | 547 | |
| ... | ... | @@ -670,8 +667,8 @@ |
| 670 | 667 | if (_isChatRoom && [_isChatRoom isEqualToString:@"yes"]) { |
| 671 | 668 | return CGRectMake([self offsetForElementAtIndex:index]-5, self.bounds.size.height-28, width+8.5, 28); |
| 672 | 669 | } |
| 673 | - CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height -1; | |
| 674 | - CGFloat height = self.plugins ? 27 : 1; | |
| 670 | + CGFloat y = self.plugins ? (self.bounds.size.height-27)/2 : self.height -4; | |
| 671 | + CGFloat height = self.plugins ? 27 : 4; | |
| 675 | 672 | if (self.home) { |
| 676 | 673 | return CGRectMake([self offsetForElementAtIndex:index]+8, y, width-16, height); |
| 677 | 674 | } | ... | ... |
LiveVideoCloud/Classes/Sections/HomePageSections/LVCHomePageListModel.h
0 → 100644
| 1 | +// | |
| 2 | +// LVCHomePageListModel.h | |
| 3 | +// LiveVideoCloud | |
| 4 | +// | |
| 5 | +// Created by cnliveJunBo on 17/6/12. | |
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "BaseModel.h" | |
| 10 | + | |
| 11 | +@interface LVCHomePageListModel : NSObject | |
| 12 | + | |
| 13 | +@property (nonatomic, copy) NSString *cid; | |
| 14 | +@property (nonatomic, copy) NSString *img; | |
| 15 | +@property (nonatomic, copy) NSString *title; | |
| 16 | +@property (nonatomic, copy) NSString *type; | |
| 17 | +@property (nonatomic, copy) NSString *url; | |
| 18 | + | |
| 19 | +@end | ... | ... |
LiveVideoCloud/Classes/Sections/HomePageSections/LVCHomePageListModel.m
0 → 100644
LiveVideoCloud/Classes/Sections/LVCHomePageViewController.h
0 → 100644
LiveVideoCloud/Classes/Sections/LVCHomePageViewController.m
0 → 100644
| 1 | +// | |
| 2 | +// LVCHomePageViewController.m | |
| 3 | +// LiveVideoCloud | |
| 4 | +// | |
| 5 | +// Created by cnliveJunBo on 17/6/9. | |
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "LVCHomePageViewController.h" | |
| 10 | +#import "LVCHomePageListModel.h" | |
| 11 | + | |
| 12 | +@interface LVCHomePageViewController ()<V8HorizontalPickerViewDataSource, V8HorizontalPickerViewDelegate,MHPagingScrollViewDelegate,UIScrollViewDelegate> { | |
| 13 | + | |
| 14 | + NSMutableArray <LVCHomePageListModel *> *_titleArr; | |
| 15 | + CGFloat _titleSpace; | |
| 16 | +} | |
| 17 | + | |
| 18 | +@property (nonatomic, strong)V8HorizontalPickerView *titleView; | |
| 19 | +@property (nonatomic, strong)MHPagingScrollView *pageView; | |
| 20 | +@end | |
| 21 | + | |
| 22 | +@implementation LVCHomePageViewController | |
| 23 | + | |
| 24 | +- (void)viewDidLoad { | |
| 25 | + [super viewDidLoad]; | |
| 26 | + | |
| 27 | + self.navigationItem.title = @"首页"; | |
| 28 | + _titleArr = [[NSMutableArray alloc] init]; | |
| 29 | + | |
| 30 | + [self getChannelList]; | |
| 31 | + | |
| 32 | + self.navigationItem.titleView = self.titleView; | |
| 33 | + [self.view addSubview:self.pageView]; | |
| 34 | + [_pageView reloadPages]; | |
| 35 | + [_titleView reloadData]; | |
| 36 | + [self.titleView scrollToElement:0 animated:NO]; | |
| 37 | +} | |
| 38 | + | |
| 39 | +#pragma mark - 请求频道列表 | |
| 40 | +- (void)getChannelList { | |
| 41 | + | |
| 42 | + NSDictionary *para = @{@"appid": @"hdtv", | |
| 43 | + @"plat": @"i", | |
| 44 | + @"version": @"5.5.2.052420"}; //[NSDictionary CommonParameters] | |
| 45 | + | |
| 46 | + MBProgressHUD *waitHUD = [Tools showActivityHudInView:self.view withString:@"加载中..."]; | |
| 47 | + [[AFHTTPRequestOperationManager manager] GET:AllChannellist parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) { | |
| 48 | + | |
| 49 | + [waitHUD hide:NO]; | |
| 50 | +// [self.reloadBtn removeFromSuperview]; | |
| 51 | + responseObject = [responseObject validatedDictionary]; | |
| 52 | + | |
| 53 | + if ([[NSString stringWithFormat:@"%@",responseObject[@"errorCode"]] isEqualToString:@"0"]) { | |
| 54 | + | |
| 55 | + if ([Tools isArray:responseObject[@"channels"]]) { | |
| 56 | + | |
| 57 | + for (NSDictionary *dict in responseObject[@"channels"]) { | |
| 58 | + | |
| 59 | + LVCHomePageListModel *model = [[LVCHomePageListModel alloc] init]; | |
| 60 | + [model setValuesForKeysWithDictionary:dict]; | |
| 61 | + [_titleArr addObject:model]; | |
| 62 | + } | |
| 63 | + | |
| 64 | + CGFloat width = 0; | |
| 65 | + for (LVCHomePageListModel *model in _titleArr) { | |
| 66 | + CGSize size = [model.title sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}]; | |
| 67 | + width += size.width+5; | |
| 68 | + } | |
| 69 | + if (width < self.titleView.width) { | |
| 70 | + _titleSpace = (self.titleView.width-width)/_titleArr.count; | |
| 71 | + } else { | |
| 72 | + _titleSpace = 0; | |
| 73 | + } | |
| 74 | + | |
| 75 | + [_titleView reloadData]; | |
| 76 | + | |
| 77 | + // /*-----------------列表数据处理----------------*/ | |
| 78 | + // [CNHDTVStatManager PVStatForPage:@"tj/" userID:[UserInformationModel manager].uid]; | |
| 79 | + // NSMutableArray *normalArray = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:NormalChannelArray]]; | |
| 80 | + // NSMutableArray *otherArray = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:OtherChannelArray]]; | |
| 81 | + // | |
| 82 | + // NSArray *channelsArray = responseObject[@"channels"]; | |
| 83 | + | |
| 84 | + | |
| 85 | +// /*-----------------根据频道列表网络数据的变化来对本地数据进行处理----------------*/ | |
| 86 | + // //将新增的频道添加到常用频道 | |
| 87 | + // for (NSDictionary *dic in channelsArray) { | |
| 88 | + // if (![normalArray containsObject:dic]) { | |
| 89 | + // [normalArray addObject:dic]; | |
| 90 | + // } | |
| 91 | + // } | |
| 92 | + // | |
| 93 | + // //从常用频道和其他频道中删除网络数据中没有的数据 | |
| 94 | + // NSMutableArray *tempNormalArray = [normalArray mutableCopy]; | |
| 95 | + // for (NSDictionary *dic in tempNormalArray) { | |
| 96 | + // if (![channelsArray containsObject:dic]) { | |
| 97 | + // [normalArray removeObject:dic]; | |
| 98 | + // } | |
| 99 | + // } | |
| 100 | + // | |
| 101 | + // NSMutableArray *tempOtherArray = [otherArray mutableCopy]; | |
| 102 | + // for (NSDictionary *dic in tempOtherArray) { | |
| 103 | + // if (![channelsArray containsObject:dic]) { | |
| 104 | + // [otherArray removeObject:dic]; | |
| 105 | + // } | |
| 106 | + // } | |
| 107 | + // | |
| 108 | + // [[NSUserDefaults standardUserDefaults] setObject:normalArray forKey:NormalChannelArray]; | |
| 109 | + // [[NSUserDefaults standardUserDefaults] setObject:otherArray forKey:OtherChannelArray]; | |
| 110 | + // [[NSUserDefaults standardUserDefaults] synchronize]; | |
| 111 | + | |
| 112 | + } | |
| 113 | + else { | |
| 114 | + | |
| 115 | + [Tools showHUDInView:self.view withString:@"获取数据失败" autoHide:YES]; | |
| 116 | + } | |
| 117 | + | |
| 118 | + | |
| 119 | + } else { | |
| 120 | + | |
| 121 | + [Tools showHUDInView:self.view withString:@"获取数据失败" autoHide:YES]; | |
| 122 | + } | |
| 123 | + | |
| 124 | +// self.reloadLab.text = @"暂无数据"; | |
| 125 | +// [self showChannelList]; | |
| 126 | + | |
| 127 | + | |
| 128 | + } failure:^(AFHTTPRequestOperation *operation, NSError *error) { | |
| 129 | + | |
| 130 | + [waitHUD hide:NO]; | |
| 131 | + }]; | |
| 132 | +} | |
| 133 | + | |
| 134 | +#pragma mark - V8HorizontalPickerViewDataSource | |
| 135 | + | |
| 136 | +- (NSInteger)numberOfElementsInHorizontalPickerView:(V8HorizontalPickerView *)picker | |
| 137 | +{ | |
| 138 | + return _titleArr.count; | |
| 139 | +} | |
| 140 | + | |
| 141 | +#pragma mark - V8HorizontalPickerViewDelegate | |
| 142 | + | |
| 143 | +- (NSString *)horizontalPickerView:(V8HorizontalPickerView *)picker titleForElementAtIndex:(NSInteger)index | |
| 144 | +{ | |
| 145 | + return _titleArr[index].title; | |
| 146 | +} | |
| 147 | + | |
| 148 | +- (NSInteger)horizontalPickerView:(V8HorizontalPickerView *)picker widthForElementAtIndex:(NSInteger)index | |
| 149 | +{ | |
| 150 | + | |
| 151 | + if (_titleSpace != 0) { | |
| 152 | + | |
| 153 | + CGSize size = [_titleArr[index].title sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}]; | |
| 154 | + return size.width +_titleSpace; | |
| 155 | + } else { | |
| 156 | + | |
| 157 | + CGSize size = [_titleArr[index].title sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}]; | |
| 158 | + return size.width + 15; | |
| 159 | + } | |
| 160 | +} | |
| 161 | + | |
| 162 | +- (void)horizontalPickerView:(V8HorizontalPickerView *)picker didSelectElementAtIndex:(NSInteger)index | |
| 163 | +{ | |
| 164 | + if (self.pageView.indexOfSelectedPage != index) { | |
| 165 | + [self.pageView selectPageAtIndex:index animated:YES]; | |
| 166 | + } | |
| 167 | +} | |
| 168 | + | |
| 169 | +#pragma mark - UIScrollViewDelegate | |
| 170 | + | |
| 171 | +- (void)scrollViewDidScroll:(UIScrollView *)scrollView | |
| 172 | +{ | |
| 173 | + | |
| 174 | + if (self.titleView.currentSelectedIndex != self.pageView.indexOfSelectedPage) { | |
| 175 | + | |
| 176 | + [self.titleView scrollToElement:self.pageView.indexOfSelectedPage animated:YES]; | |
| 177 | + | |
| 178 | + } | |
| 179 | + [self.pageView scrollViewDidScroll]; | |
| 180 | + | |
| 181 | +} | |
| 182 | + | |
| 183 | +#pragma mark - MHPagingScrollViewDelegate | |
| 184 | + | |
| 185 | +- (NSUInteger)numberOfPagesInPagingScrollView:(MHPagingScrollView *)pagingScrollView | |
| 186 | +{ | |
| 187 | + return _titleArr.count; | |
| 188 | +} | |
| 189 | + | |
| 190 | +- (UIView *)pagingScrollView:(MHPagingScrollView *)pagingScrollView pageForIndex:(NSUInteger)index | |
| 191 | +{ | |
| 192 | + if ([_titleArr[index].title isEqualToString:@"推荐"]) { | |
| 193 | + | |
| 194 | +// LVCTelevisionView *tvView = (LVCTelevisionView *)[pagingScrollView pageViewByIndex:index]; | |
| 195 | +// if (!tvView) { | |
| 196 | +// tvView = [[LVCTelevisionView alloc] init]; | |
| 197 | +// } | |
| 198 | +// return tvView; | |
| 199 | + | |
| 200 | + }else if ([_titleArr[index].title isEqualToString:@"华人频道"]) { | |
| 201 | + | |
| 202 | +// LVCUGCLiveListView *liveListView = (LVCUGCLiveListView *)[pagingScrollView pageViewByIndex:index]; | |
| 203 | +// if (!liveListView) { | |
| 204 | +// liveListView = [[LVCUGCLiveListView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT - 114)]; | |
| 205 | +// } else { | |
| 206 | +// [liveListView isNeedToRefresh]; | |
| 207 | +// } | |
| 208 | +// liveListView.scrollToTop = YES; | |
| 209 | +// return liveListView; | |
| 210 | + } | |
| 211 | + return nil; | |
| 212 | +} | |
| 213 | + | |
| 214 | +- (V8HorizontalPickerView *)titleView | |
| 215 | +{ | |
| 216 | + if (!_titleView) { | |
| 217 | + | |
| 218 | + _titleView = [[V8HorizontalPickerView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH-120, 44) home:YES]; | |
| 219 | + _titleView.textColor = [UIColor colorWithHexString:@"#7e7e7d"]; | |
| 220 | + _titleView.selectedTextColor = [UIColor blackColorCNLive]; | |
| 221 | + _titleView.delegate = self; | |
| 222 | + _titleView.dataSource = self; | |
| 223 | + _titleView.elementFont = [UIFont boldSystemFontOfSize:18]; | |
| 224 | + _titleView.scrollView.scrollsToTop = NO; | |
| 225 | + | |
| 226 | + } | |
| 227 | + return _titleView; | |
| 228 | +} | |
| 229 | + | |
| 230 | +- (MHPagingScrollView *)pageView | |
| 231 | +{ | |
| 232 | + if (!_pageView) { | |
| 233 | + _pageView = [[MHPagingScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-49)]; | |
| 234 | + _pageView.pagingDelegate = self; | |
| 235 | + _pageView.delegate = self; | |
| 236 | + _pageView.scrollsToTop = NO; | |
| 237 | + _pageView.bounces = NO; | |
| 238 | + } | |
| 239 | + return _pageView; | |
| 240 | +} | |
| 241 | + | |
| 242 | +- (void)didReceiveMemoryWarning { | |
| 243 | + [super didReceiveMemoryWarning]; | |
| 244 | + // Dispose of any resources that can be recreated. | |
| 245 | +} | |
| 246 | + | |
| 247 | +@end | ... | ... |
LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.m
| ... | ... | @@ -11,8 +11,6 @@ |
| 11 | 11 | #import "LVCLivePlayerController.h" |
| 12 | 12 | #import "LVCUGCLivePlayerController.h" |
| 13 | 13 | #import "LVCTVLiveViewController.h" |
| 14 | -#import "V8HorizontalPickerView.h" | |
| 15 | -#import "MHPagingScrollView.h" | |
| 16 | 14 | #import "LVCTelevisionView.h" |
| 17 | 15 | #import "LVCUGCLiveListView.h" |
| 18 | 16 | |
| ... | ... | @@ -33,7 +31,7 @@ |
| 33 | 31 | - (void)viewDidLoad { |
| 34 | 32 | [super viewDidLoad]; |
| 35 | 33 | |
| 36 | - self.navigationItem.title = @"首页"; | |
| 34 | + self.navigationItem.title = @"直播"; | |
| 37 | 35 | |
| 38 | 36 | _titleArr = @[@"直播",@"频道"]; |
| 39 | 37 | CGFloat width = 0; | ... | ... |
LiveVideoCloud/PrefixHeader.pch
| ... | ... | @@ -29,6 +29,8 @@ |
| 29 | 29 | #import <CNLivePlayerSDK/CNLiveWebcastManager.h> |
| 30 | 30 | #import <CNLiveMsgTools/CNLiveMsgManager.h> |
| 31 | 31 | #import <CNLiveChatManager/CNLiveChatManager.h> |
| 32 | + #import "V8HorizontalPickerView.h" | |
| 33 | + #import "MHPagingScrollView.h" | |
| 32 | 34 | |
| 33 | 35 | #import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h> |
| 34 | 36 | |
| ... | ... | @@ -62,6 +64,7 @@ |
| 62 | 64 | #import "UIButton+createButton.h"// |
| 63 | 65 | #import "ProgramModel.h" |
| 64 | 66 | |
| 67 | + | |
| 65 | 68 | #if TARGET_OS_IPHONE |
| 66 | 69 | |
| 67 | 70 | #endif | ... | ... |
LiveVideoCloud/UtilKits/Common.h
| ... | ... | @@ -168,7 +168,8 @@ static NSString *const AppStart = @"http://app.jczb.cnlive.com/ |
| 168 | 168 | static NSString *const Market = @"http://data.cnlive.com/export/hd/market.json"; |
| 169 | 169 | |
| 170 | 170 | //首页频道列表 |
| 171 | -static NSString *const AllChannellist = @"http://app.jczb.cnlive.com/api/channellist"; | |
| 171 | +//static NSString *const AllChannellist = @"http://app.jczb.cnlive.com/api/channellist"; | |
| 172 | +static NSString *const AllChannellist = @"http://intertv.cnlive.com/zgw/api/channellist"; | |
| 172 | 173 | |
| 173 | 174 | //首页信息 |
| 174 | 175 | static NSString *const Appindex = @"http://app.jczb.cnlive.com/api/appindex"; | ... | ... |