Как играть в видео в стиле Facebook, используя UICollectionview

Я пытаюсь воспроизвести видео в ячейке UICollectionview, используя ZOWVideoPlayer. Видео отлично воспроизводится, но в настоящее время мой collectionview воспроизводит все видимые видео. Я хочу играть только одно полностью видимое видео. Это означает текущее видео, которое не обрезано процессом прокрутки (пиксели не являются за пределами экрана, но полностью видимыми).

Я также добавил код, чтобы проверить полную видимую ячейку в методах делегатов scrollview, но затем мой collectionview застрял в течение 1 или 2 секунд, а затем переместился, поэтому, пожалуйста, помогите мне из.

И сначала прочитайте вопрос, затем запустите голосование.

Вот код для проверки видимой ячейки

- (void)checkVisibilityOfCell:(CustomCell *)cell inScrollView:(UIScrollView *)aScrollView {
    @try {
        CGRect cellRect = [aScrollView convertRect:cell.frame toView:aScrollView.superview];
        if (cell.videoPlayer) {
            if (CGRectContainsRect(aScrollView.frame, cellRect)){
                //Play Video
            }
            else{
                //Pause Video
            }
        }
    } @catch (NSException *exception) {

    } @finally {

    }
}

Ответ 1

Я подозреваю, что ваш метод вызывается более одного раза. Поскольку вы только проверяете наличие игроков. Почему бы вам не добавить еще одну проверку состояния игрока? Поэтому, если игрок играет, просто игнорируйте его.

if (CGRectContainsRect(aScrollView.frame, cellRect) && !isPlaying) {

isPlaying → Перечисление, которое вы можете добавить для хранения текущего состояния проигрывателя

Надеюсь, что это имеет смысл;)