短視頻app源碼開發(fā):仿抖音短視頻熱門頁面的實現_第1頁
短視頻app源碼開發(fā):仿抖音短視頻熱門頁面的實現_第2頁
短視頻app源碼開發(fā):仿抖音短視頻熱門頁面的實現_第3頁
短視頻app源碼開發(fā):仿抖音短視頻熱門頁面的實現_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、短視頻app源碼開發(fā):仿抖音短視頻熱門頁面的實現在短視頻app源碼開發(fā)中,仿抖音短視頻熱門頁面的實現只不過是多了一個由UICollectionView呈現多個視頻圖片的中間界面,點開后播放視頻界面其實就是推薦界面,所以這里并沒有什么核心難點,只是簡單介紹下這個collectionView就好了。#importHotVideoVC.h#import#importRecommendVideoVC.h#importNearbyVideoModel.h#importVideoCollectionCell.h#importAFNetworking.hinterfaceHotVideoVC()proper

2、ty(nonatomic,strong)NSMutableArray*allArray;property(nonatomic,strong)NSArray*modelrray;property(nonatomic,strong)UICollectionView*collectionView;endimplementationHotVideoVCNSInteger_page;-(void)viewDidLoadsuperviewDidLoad;self.automaticallyAdjustsScrollViewInsets=NO;_modelrray=NSArrayarray;_page=1;

3、self.navigationCeractivePopGestureRecognizer.delegate=(id)self;self.automaticallyAdjustsScrollViewlnsets=NO;self.allArray=NSMutableArrayarray;UICollectionViewFlowLayout*flow=UICollectionViewFlowLayoutallocinit;flow.scrollDirection=UICollectionViewScrollDirectionVertical;flow.itemSize=CG

4、SizeMake(_window_width/2-1,(_window_width/2-1)*1.4);flow.minimumLineSpacing=2;flow.minimumlnteritemSpacing=2;self.collectionView=UICollectionViewallocinitWithFrame:CGRectMake(O,statusbarHeight,_window_width,_window_height-49-statusbarHeight-ShowDiff)cself.collectionViewregisterNib:UINibnibWithNibNam

5、e:VideoCollectionCellbundle:nilforCellWithReuseIdentifier:VideoCollectionCell;self.collectionView.delegate=self;self.collectionView.dataSource=self;self.collectionView.mj_footer=MJRefreshAutoNormalFooterfooterWithRefreshingBlock:A_page+;selfpullInternetforNew:_page;self.collectionView.mj_header=MJRe

6、freshNormalHeaderheaderWithRefreshingBlock:A_page=1;selfpullInternetforNew:_page;self.viewaddSubview:self.collectionView;self.view.backgroundColor=Black_Cor;self.collectionView.backgroundColor=UIColorblackColor;selfpullInternetforNew:1;因為列表不可以每次都重新刷新,影響用戶體驗,也浪費流量在視頻頁面輸出視頻后返回在視頻頁面輸出視頻后返回NSNotificatio

7、nCenterdefaultcenteraddObserver:selfselector:selector(getLiveList:)name:deleteobject:nil;發(fā)布視頻成功之后返回首頁刷新列表NSNotificationCenterdefaultCenteraddObserver:selfselector:selector(pullInternetforNewDown)name:reloadlistobject:nil;在視頻頁面刪除視頻回來后刪除-(void)getLiveList:(NSNotification*)nsnitofitionNSString*videoid=

8、NSStringstringWithFormat:%,nsnitofitionuserInfovalueForKey:videoid;NSDictionary*deletedic=NSDictionarydictionary;for(NSDictionary*subdicinself.allArray)NSString*videoids=NSStringstringWithFormat:%,subdicvalueForKey:id;if(videoidisEqual:videoids)deletedic=subdic;break;if(deletedic)self.allArrayremove

9、Object:deletedic;self.collectionViewreloadData;-(void)refreshNear/down-(void)pullInternetforNewDownself.allArray=NSMutableArrayarray;_page=1;selfpullInternetforNew:_page;-(void)getDataByFooterup_page+;selfpullInternetforNew:_page;-(void)pullInternetforNew:(NSInteger)pagesself.collectionView.userInte

10、ractionEnabled=NO;NSString*url=NSStringstringWithFormat:%&p=%ld,_url,(long)pages;WeakSelf;YBNetworkingpostWithUrl:urlDic:nilSuc:A(NSDictionary*data,NSString*code,NSString*msg)weakSelf.collectionView.mj_headerendRefreshing;weakSelf.collectionView.mjooterendRefreshing;weakSelf.collectionView.userInter

11、actionEnabled=YES;if(codeisEqual:0)NSArray*info=datavalueForKey:info;if(_page=1)self.allArrayremoveAllObjects;self.allArrayaddObjectsFromArray:info;加載成功停止刷新self.collectionView.mj_headerendRefreshing;self.collectionView.mj_footerendRefreshing;self.collectionViewreloadData;if(self.allArray.count0)Publ

12、icViewhiddenTextNoData:_collectionView;elsePublicViewshowTextNoData:_collectionViewtext1:text2:W無熱門視頻哦;if(info.count=0)self.collectionView.mj_footerendRefreshingWithNoMoreData;elseif(codeisEqual:700)PublicObjtokenExpired:minstr(datavalueForKey:msg);elseelseif(self.allArray)self.allArrayremoveAllObje

13、cts;self.collectionViewreloadData;PublicViewshowTextNoData:_collectionViewtext1:text2:W無熱門視頻哦”;Fail:Uidfail)weakSelf.collectionView.userInteractionEnabled=YES;self.collectionView.userInteractionEnabled=YES;if(self.allArray)self.allArrayremoveAllObjects;self.collectionViewreloadData;PublicViewshowTex

14、tNoData:_collectionViewtext1:text2:W無熱門視頻哦”;self.collectionView.mj_headerendRefreshing;self.collectionView.mj_footerendRefreshing;#pragmamark-Tableviewdatasource-(NSInteger)collectionView:(UICollectionView*)collectionViewnumberOfItemsInSection:(NSInteger)sectionreturnself.allArray.count;-(CGFloat)co

15、llectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutminimumLineSpacingForSectionAtIndex:(Nreturn2;-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView*)collectionViewreturn1;-(void)collectionView:(UICollectionView*)collectionViewdidSelectItemAt

16、IndexPath:(NSIndexPath*)indexPathVideoCollectionCell*cell=(VideoCollectionCell*)collectionViewcellForItemAtIndexPath:indexPath;RecommendVideoVC*video=RecommendVideoVCallocinit;video.fromWhere=myVideoV;video.curentIndex=indexPath.row;video.videoList=_allArray;video.pages=_page;video.firstPlacelmage=c

17、ell.bglmageV.image;video.requestUrl=_url;video.block=A(NSMutableArray*array,NSIntegerpage,NSIntegerindex)_page=page;self.allArray=array;self.collectionViewreloadData;self.collectionViewscrollToItemAtIndexPath:NSIndexPathindexPathForItem:indexinSection:0atScrollPosition:UICollectionViewScrollPositionBottomanim;/video.hidesBottomBarWhenPushed=YES;TCBaseAppDelegatesharedAppDelegatepushViewController:videoanimated:YES;-(UICollectionViewCell*)collectionView:(UICollectionView*)collectionViewcellForItemAtIndexPath:(NSIndexPath*)indexPathVideoCollectionCell*cell=(Vide

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論