我正在尝试在我的应用中向UITapGestureRecognizer
添加JWPlayerController
(doubleTap)。
目前,当您双击视频(JWPlayer)时,它默认以全屏模式启动。所需的行为是将此手势绑定到不同的事件(喜欢,大多数情况下),对于想要全屏视频的用户,可以使用全屏展开按钮。
在SDK中,您似乎只能更改布尔isInFullScreen
,并且禁用双击到全屏功能是不可行的。这是真的?
这是我尝试附加到player
的手势,目前它附加到mediaHeaderView
。
private extension Selector {
static let doubleWasTapped = #selector(MediaViewController.doubleWasTapped(_:))
}
final class MediaViewController: UITableViewController {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var mediaHeaderView: UIView!
weak var mediaPageDelegate: MediaPageDelegate?
var viewModel: MediaTableViewModel!
private var player: JWPlayerController?
// etc
addDoubleTapGesture()
}
func doubleWasTapped(gesture: UITapGestureRecognizer) {
viewModel.toggleLikeProducer.start()
}
func addDoubleTapGesture() {
let doubleTappedGR = UITapGestureRecognizer(target: self, action: #selector(doubleWasTapped))
doubleTappedGR.numberOfTapsRequired = 2
doubleTappedGR.delaysTouchesBegan = true
mediaHeaderView!.addGestureRecognizer(doubleTappedGR)
}
提前致谢!
答案 0 :(得分:1)
我最近与jwplayer团队进行了交谈。查看代码,您会看到isInFullScreen
是一个只读属性(查看它有意义的名称)。他们提供的唯一当前和不太好的修复是禁用对配置文件(config.controls
)的控制。我把它设置为false,双击到全屏不再有效。此帖也在其网站上发布:https://support.jwplayer.com/customer/portal/questions/8123742-disable-fullscreen