2016-12-27 5 views
-2

UITableViewとそれにはUITableviewCellが含まれています。私はすべてのセル(一度に1つのビデオ)でビデオを再生する必要があります。セルが表示されているかどうかを確認する

現在のセルが再生された状態で表示された場合、私はビデオを継続すべきであり、セルがビデオよりも(スクロール後)表示されていない場合は、停止する必要がありますよりも、テーブルビューをスクロールします。私は、どのセルがテーブルビューに表示されていることとされていないかを決定するにはどうすればよい

は、あなたのクラスが UITableViewDelegateプロトコルに準拠していることを確認してください:

+0

http://stackoverflow.com/questions/9157979/how-to-make-specific-uitableviewcell-to-be-visible-on-screen-while-having-more-r –

+0

セルが自動的に停止するメモリ不足 –

答えて

2

あなたの条件が表示されているし、それに応じて進行する細胞把握されている場合は、以下のコードを見てください。

scrollViewDidScrollには、現在表示されているすべてのセルをself.tableview.visibleCellsで確認できます。このような

何か:

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

    [mainTableView.visibleCells enumerateObjectsUsingBlock:^(__kindof UITableViewCell * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { 

     //here you can get indexPath of each cell currently visible when scroll view ends scrolling. 

     NSIndexPath *indexPath = [mainTableView indexPathForCell:obj]; 

    }]; 
} 
3

あなたがこののUITableViewデリゲートメソッドを使用することができます。

Add Delegate: UITableViewDelegate 

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
// This method is call while cell display     
} 

はその作業を願っています:

1

セルがビューの外にスクロールしたことを学ぶためにdidEndDisplayingを実装あなたがそれを取得すると、再生を停止します。

関連する問題