UITableView實現(xiàn)抖音全屏滾動,短視頻自動播放,下拉刷新,上拉加載。

UITableView實現(xiàn)抖音全屏滾動,短視頻自動播放,下拉刷新,上拉加載。


之前看到一篇簡書仿抖音滾動,UIScrollView 自動播放,簡書地址http://m.itdecent.cn/p/bdf0a1fa2c6c,他的原理是3個播放器,上,中,下無限替換數(shù)據(jù),改變UIScrollView的偏移量,來實現(xiàn)的,到我自己的項目里面發(fā)現(xiàn)需要刷新和加載,于是我想能不能用UITableView寫,直接上代碼。

1.創(chuàng)建UITableView,一屏一頁。pagingEnabled為YES.

? _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight) style:UITableViewStylePlain];

? ? _tableView.dataSource = self; //數(shù)據(jù)

? ? _tableView.delegate=self;

? ? _tableView.pagingEnabled = YES;

? ? _tableView.opaque = YES;

? ? _tableView.scrollsToTop = YES;

? ? _tableView.bounces = NO;

? _tableView.estimatedRowHeight = 0;

? ? _tableView.estimatedSectionHeaderHeight = 0;

? ? _tableView.estimatedSectionFooterHeight = 0;

? ? _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

2.停止?jié)L動里面去賦值和加載

//減速完成(停止)? 加載更多 和 賦值用

- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView{

? CGFloat contentYoffset = scrollView.contentOffset.y;

? ? NSInteger j =? contentYoffset/kScreenHeight;

?indexRow = j; //記住當(dāng)前的行

獲取第幾頁,

NSIndexPath *indexPath=[NSIndexPath indexPathForRow:j inSection:0];

? ? ? ? _cell= [_tableViewcellForRowAtIndexPath:indexPath];

獲取到當(dāng)前的cell,

播放視頻 我播放視頻用的是KSYMoviePlayerController金山的

把播放器加到當(dāng)前cell上,這樣永遠(yuǎn)只有一個播放器,那個cell顯示把播放器加到那個上面。

?[self.playerreset:NO];

? ? ? ? ? ?[self.playersetUrl:[NSURLURLWithString:model.targetPath]];

? ? ? ? ? ? [self.playerprepareToPlay];

? if (indexRow ==_dataSource.count-1) {

? ? ? ? //到了最后一行

? ? ? ? NSLog(@"到了最后一行");

????? ? ? ? page++;

//你請求接口的方法

}

}

3.下拉刷新

// 已經(jīng)結(jié)束拖動? 刷新用

- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate {

? ? CGFloatcontentYoffset = scrollView.contentOffset.y;

? ? NSIntegerj =? contentYoffset/kScreenHeight;

? ? if(j==0&&contentYoffset<=0) {

? ? ? ? NSLog(@"我要刷新了");

?? ? ? [SVProgressHUD showWithStatus:@"數(shù)據(jù)加載..."];

?? ? ? ? firet=NO;//改為NO,重新刷新

? ? ? ? page=1;

? ? ? ? [_dataSource removeAllObjects];

????[selfloadMp4List];


? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容