【问题标题】:Change position of AVPlayerViewController controls更改 AVPlayerViewController 控件的位置
【发布时间】:2016-06-22 16:13:14
【问题描述】:

我有一个AVPlayerViewController,里面有一个AVPlayer。默认情况下,播放控件出现在视图的底部,有没有办法让它们出现在视图的顶部?

【问题讨论】:

    标签: ios swift avplayer avplayerviewcontroller


    【解决方案1】:

    AVPlayerViewController 有一个私有的UIView *_controlsView,用于存放控制机架。您可以遍历视图控制器的子视图或创建一个接口来公开此属性以获取对它的引用。

    由于这是一个未记录的视图,因此在弄乱私有属性时要小心。玩家甚至可能不支持移动_controlsView。

    如果_controlsView 不完全符合您的需求,我也会查看AVPlaybackControlsViewController *_playbackControlsViewController; 属性。

    AVPlayerViewController private header (for reference).

    【讨论】:

      【解决方案2】:

      没有支持的内置方式。您必须滚动自己的控件才能做到这一点。

      还要记住,AVPlayerViewController 的视图不必占据整个屏幕。所以控件可能会出现在 view 的底部,但这并不意味着它们必须出现在 screen 的底部。围绕视图进行设计,使其不会干扰您的其他界面。

      【讨论】:

      • 有没有办法只访问嵌入了控件的视图并更改其位置或约束?
      • 我看到你编辑了你的答案,但这对我的后续问题没有真正帮助
      • 是的。我的答案是站得住脚的。 “没有支持的内置方式”的哪一部分无法回答这个问题?当然,您可以随心所欲地弄乱控件,但不要试图将其放入应用商店。我的建议:接受你得到的并继续前进。
      • 我不认为这是一个抽象的要求,我的应用程序的设计根本不允许我将控件保留在屏幕底部,因为我在那里放置了其他视图.我认为这应该是默认情况下应该可定制的东西......
      • 当然,我完全同意,应该是。但事实并非如此。编程 Cocoa 是关于现实的,而不是你的梦想和我的梦想。向 Apple 提交请求此功能的错误。与此同时,继续前进。 — 您不必将控件保留在 屏幕 的底部。您必须将它们放在视图控制器的 view 的底部。那些不是一回事!您似乎认为视图控制器的视图必须占据整个屏幕。它没有。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多