tvOS - playPause 手势不起作用
Posted
技术标签:
【中文标题】tvOS - playPause 手势不起作用【英文标题】:tvOS - playPause Gesture not working 【发布时间】:2017-10-17 14:06:06 【问题描述】:PlayPause 按钮没有响应。
这是我放在viewDidLoad
方法中的代码:
playPauseTapGestureRegocnizer = UITapGestureRecognizer(target: self, action: #selector(playPauseTapped))
playPauseTapGestureRegocnizer.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue)]
view.addGestureRecognizer(playPauseTapGestureRegocnizer)
我尝试将它放在多种方法中,但它不起作用。
奇怪的是,当我将playPause
更改为menu
时,它与菜单按钮完美配合。
我错过了什么吗?
【问题讨论】:
使用您的代码,它对我有用。当我从 Apple TV 遥控器点击 playPause 按钮时,会调用playPauseTapped()
方法。仅供参考,我使用的是 Xcode 9 和 Apple TV 4K。
它对我不起作用。如何找出手势没有响应的原因?以及为什么菜单按钮有效而不是播放暂停按钮?
您在下面尝试过我的解决方案吗? @AymenHARRATH
【参考方案1】:
斯威夫特 4
PlayPause 手势无法在真实设备上使用。
另一种解决方案是听UIPressesEvent
override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?)
for press in presses
if press.type == UIPress.PressType.playPause
// handle play pause action
break
else
super.pressesEnded(presses, with: event)
【讨论】:
@RussellHarrower 在viewDidLoad
中监听pressesEnded
并将这个函数放在视图控制器上。
问题是 tvOS 的 xcode SwiftUI 没有给我 appDelegate。所以不知道我应该把它放在哪里。没有全局 - viewDidLoad
所以我必须把它放在非常明显的位置。以上是关于tvOS - playPause 手势不起作用的主要内容,如果未能解决你的问题,请参考以下文章
setSemanticContentAttribute:在 tvOS 10 中不起作用