swift - 如何删除在 Swift 中自动创建的 touchbar AVPlayer

标签 swift macos avplayer nstouchbar

我正在编写一个 mac 应用程序,我想支持触摸栏。我有一个分屏 Controller ,其中一个 View 是一个 AVPlayer。 AVPlayer 自动创建用于暂停和播放等的触摸条按钮。如何删除自动创建的触摸条?或者有没有办法禁用 View Controller 的触摸栏?我想在 windowcontroller 中为窗口添加一个触摸条,目前它被 AVPlayer 自动创建的触摸条覆盖。

最佳答案

尝试在 NSWindow 本身上创建您的触摸栏,并将 .otherItemsProxy 项目添加到默认标识符:

[.stuff, .thing, .otherItemsProxy]

这样一来,AVPlayer 触摸条就会自动插入窗口的触摸条中(我认为您无法用自己的触摸条替换 AVPlayer)。

想法是 touchBars 的优先级是这样的:首先是 AppDelegate,然后是 NSWindow,然后是 NSView,然后是 subview ,等等。

因此,如果您有一个带有窗口级别代理的触摸栏,那么 View 级别的项目应该将它们自己插入到 .otherItemsProxy 所在的位置。

关于swift - 如何删除在 Swift 中自动创建的 touchbar AVPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474513/

相关文章:

带有预填充 sqlite 数据库的 iOS 发布应用程序

macos - 无法在 Mac 上卸载 Numpy

c++ - OSX 上的 Eclipse C++ 无法构建

ios - 自定义 TableViewController 在 Swift 3 中播放声音和崩溃

ios - AVPlayer - 当视频开始在 ios 中播放时,UILabel 不可见

Swift:无法在循环内解包可选

ios - Swift:GM Xcode 6.1 和 AFNetworking AFJSONResponseSerializer

ios - microsoft azure 客户端 swift 库选择 nolock

xcode - 我的 Sparkle appcast 需要闪光吗 :dsaSignature field in order to be valid?

ios - 获取AVPlayer ios中视频播放的当前时间