如何使用 UICollectionview 播放 Facebook 风格的视频

2023-12-24

我正在尝试播放视频UICollectionview电池使用ZOW视频播放器 https://github.com/stoncle/ZOWVideoPlayer。视频播放完美,但目前我的集合视图正在播放所有可见视频。我只想播放单个完全可见的视频。这意味着当前视频不会被滚动过程裁剪(像素不会离开屏幕,而是完全可见)。

我还添加了代码来检查完整的可见单元格滚动视图委托方法,但我的集合视图卡住 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 {

    }
}

我怀疑你的方法被多次调用。因为您只是检查玩家是否存在。为什么不添加另一个对玩家状态的检查呢?所以如果玩家正在玩,就忽略它吧。

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

isPlaying -> 您可以添加用于存储玩家当前状态的枚举

希望这是有道理的;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 UICollectionview 播放 Facebook 风格的视频 的相关文章

  • 如果您查看内部,nib 文件到底是什么样子的?

    我刚刚学习 nibs 和 swift 并对某些东西感到好奇 我知道 如果您有一个 main storyboard 文件 则首先加载根视图控制器的笔尖 然后加载该视图控制器下可能分层存在的任何视图 但是 我想知道一些事情 当他们说笔尖已 加载
  • 如何在 iPhone 应用程序的 url 中传递字符串值

    NSURLRequest request NSURLRequest requestWithURL NSURL URLWithString http www krsconnect no community api html method ba
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • 使用捏合手势;如何放大用户手指实际“捏”的位置?

    我已经在我的应用程序中的 UIImageView 上实现了 UIPinchGestureRecognizer 但是无论我在图像的哪个位置捏合 它似乎都会放大到同一个位置 有谁知道我如何让它放大到用户实际 捏 的地方 请参阅下面的代码 视图控
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 处理核心数据中的重复条目

    我有一个允许用户保存收藏夹的应用程序 我正在使用 Core Data 将收藏夹存储为托管对象 我已经编写了一些代码来防止存储重复项的可能性 但我想知道是否有更好的方法来做到这一点 每个收藏夹对象都有一个唯一的 ID 字段 在下面的代码中 我
  • 包含字符串和数字的数组

    在 Objective C 中 很容易创建一个异构数组 如下所示 NSArray myArray String1 String2 123 456 有什么方法可以快速创建这样的数组吗 如果是的话怎么办 Note 我在 swift 中尝试了类似
  • 使用导航控制器在 Storyboard 中呈现视图控制器 - Swift

    我目前在下面的新故事板中显示了一个 viewController var storyboard UIStoryboard UIStoryboard name AccountStoryboard bundle nil var vc Welco
  • UICollectionviewcell 更改背景

    如果我知道部分编号和项目编号 如何更改单元格中的背景 下面的代码显示了我如何尝试做到这一点 UICollectionViewCell collectionView UICollectionView collectionView cellFo
  • iPhone / iPad IOS 应用程序仪器内存计数与 task_info 内存计数

    我一直在使用 Instruments Leak Tester 它给出了大约 1 3 meg 的应用程序总分配数字 但是 当使用 task info 时 它会报告更大的内存量 例如 10 20 meg 我想我只是想确认task info正在返
  • 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用视图控制器?

    我有一个使用 Xcode 4 0 的 基于窗口的应用程序 模板创建的 iOS 应用程序 当时运行良好 并且使用的是 iOS 4 3 SDK 这是一个简单地将按钮 标签等直接放置到窗口上的应用程序 没有视图控制器 什么都没有 但现在我已经升级
  • 子视图控制器旋转方法未被调用

    Summary 我试图将子视图控制器添加到父视图控制器 并让父视图控制器通知子视图控制器旋转事件 但是 旋转消息不会转发到子视图控制器 这是默认行为 为什么这种默认行为没有发生 环境 iOS 7 XCode 5 OSX 10 9 Detai
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • iOS:addConstraints:应用程序崩溃

    Problem 我似乎无法在现有项目中采用自动布局 Details 我之前也遇到过与此问题相同的问题presentViewController 在 iOS 但所提供的答案都不是我的解决方案 我正在使用所有没有 xib 的故事板视图 我的 使
  • 如何在 XCode5 中将部署目标更改为 5.1.1 [重复]

    这个问题在这里已经有答案了 我正在一个项目中工作 我需要支持 iOS 5 1 1 但在 部署目标 的下拉菜单中我没有 5 1 1 作为选项 我的问题是如何将 iOS 5 1 1 添加为部署目标 我将非常感谢你的帮助 如果您愿意 您可以在框中
  • 使用 NSOutlineView 作为文件系统目录浏览器的 Swift 代码

    我已经在这段 Swift 代码上苦苦挣扎了一段时间 但没有发现问题 代码 下面应该提供文件目录作为 NSOutlineView 的数据源 GUI 非常简单 只是一个带有 NSOutlineView 和 OutlineViewControll
  • 您可以严格泛型类型或为一个参数指定多个类型吗?

    例如我想指定一个类型可能是Integer or String并将其用作特殊类型func我试过typealias但它不会解决这个问题 因为类型别名不能有or参数作为其唯一用途 因此请考虑下面的情况 typealias alis StringP
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐

  • Java XML 解析 - 合并 xi:include 的输出

    我有一个 XML 文件 其中包含以下内容
  • Java 线程基础知识

    下面两个线程调用有什么区别 这两个调用的行为会类似吗 注意 我没有同时使用 1 和 2 这是最好的选择 private void startConnections ServerThread server new ServerThread s
  • 从packages.config安装私有源Nuget包

    我在我们的一台内部服务器上有一个私人 nuget feed 我可以像这样从命令行安装此提要中的包 nuget install PackageName source DevServer NugetFeed 但是 如果我尝试从我们的packag
  • 将 Express Router 与 Next.js 结合使用

    我正在尝试将 Express Router 与 Next js 结合使用定制快递服务器示例 https github com zeit next js blob master examples custom server express s
  • 如何修复“找不到默认 Python”错误

    我在 Windows 服务器 64 位 中使用 python 它由另一个用户安装在他自己的目录中C user userx AppData Local Programs Python Python36 所有其他用户 不包括我 都可以在此服务器
  • codeigniter 指定限制为 NULL 在最新 CI 版本 2.1.2 中不起作用

    我有以下获取作者列表在我的 Codeigniter 模型之一中运行 function get authors list limit offset data array this gt db gt select gt from authors
  • 如何从 shell 脚本编辑 kubernetes 资源

    我浏览了文档来使用以下命令编辑 kubernetes 资源kubectl edit https kubernetes v1 4 github io docs user guide kubectl kubectl edit 命令 执行命令后
  • 重定向路线并显示消息

    我想知道是否有办法重定向路线或返回Response与数据并在另一个页面上获取它loader功能 基本上 我试图使用表单创建一个新对象 并重定向到另一个我想要显示创建成功消息的页面 这是一个表单页面示例 我正在尝试发送消息Response b
  • 如何知道topojson是否安装并正常工作?

    如何知道topojson是否安装好并且工作正常 一个要转换的小文件示例将不胜感激 包含源和预期结果 如果您还没有偶然发现这一点 我发现它是整个过程的一个很好的演练 http bost ocks org mike map http bost
  • 如何在 Java 中使用 Selenium WebDriver 和/或 Sikuli 平滑滚动

    作为测量 Web 应用程序 FPS 的测试套件的一部分 我需要执行网页的平滑滚动 也就是说 与用户抓住滚动条并用鼠标移动它时的平滑度相同 到目前为止 我已经尝试使用 sikuli 模拟按键 即多次按向上 向下箭头键来滚动整个页面 我也尝试过
  • Prometheus基于Label的过滤

    如何在Prometheus查询中添加标签过滤器 kube pod 信息 kube pod info created by kind ReplicaSet created by name alertmanager 6d9f74d4c5 ins
  • 通过 facebook graph api 创建事件

    有没有办法通过代码创建 facebook 事件 截至今天 请参阅文档 for v2 0 https developers facebook com docs graph api reference v1 0 event for v1 0 h
  • Spring 5 功能性 Web 框架无法与 Eureka 客户端一起使用

    当我启用微服务环境 Config Server Service Registry Eureka Gateway Zuul 时 Spring 5 功能 Web 框架无法工作 我有一个 Maven Spring Boot v 2 0 0 M3
  • 没有提交消息的 Git 提交

    如何在不指定提交消息的情况下提交更改 为什么默认需要它 git 通常需要非空消息 因为提供有意义的提交消息是良好开发实践和良好存储库管理的一部分 提交消息的第一行在 git 中随处可见 欲了解更多信息 请阅读 关于 Git 提交消息的注释
  • posmax:类似于 argmax,但给出了 f[x] 最大的元素 x 的位置

    Mathematica 有一个内置函数ArgMax http reference wolfram com mathematica ref ArgMax html对于无限域上的函数 基于标准数学定义 http en wikipedia org
  • 添加预览到 html 链接标签

    当我们共享一些链接时 它会显示一个链接预览图像和一些文本 我们如何添加到我们的http链接 希望我的问题很清楚 OG 可能就是您正在寻找的东西 它是一组具有特定属性的元标记 它们处理链接共享后显示的标题 描述和图像 更多这里 about O
  • 如何在Django中存储图像文件?

    Django 中存储图像文件的典型场景是什么 更具体地说 图像是否直接存储在本地文件系统或 Amazon S3 上的数据库 blob 例如 MongoDB GridFS 中 对于这三种情况 是否有工具或 django 软件包可用于简化您存储
  • 为什么 VS Code 中的 Nodejs 断点会根据完整路径是否出现在选项卡标题中而被禁用?

    我的 Mocha 测试中的断点在一个 VS Code 选项卡中的完全相同的行上设置时有效 但在另一个选项卡中则无效 区别 如果选项卡中显示完整路径 则断点有效 屏幕截图中的第二项 但是 如果没有路径的文件名出现在选项卡标题中 则断点在执行期
  • Linux X11 - 全局键盘挂钩

    是否有可能 或如何 创建一个像 Windows 中的全局钩子 SetWindowsHookEx 一样工作的机制 在 Linux X11 C 中 我希望能够赶上关键事件 但进一步传播的可能性 我正在尝试使用XGrabKey https sta
  • 如何使用 UICollectionview 播放 Facebook 风格的视频

    我正在尝试播放视频UICollectionview电池使用ZOW视频播放器 https github com stoncle ZOWVideoPlayer 视频播放完美 但目前我的集合视图正在播放所有可见视频 我只想播放单个完全可见的视频