我正在滚动浏览页面,其中有一些带有YoutubeKit框架的youtube视频。
YoutubeKit正在使用UIView来显示视频。我想在UIView不在焦点(用户未显示)中暂停视频。
isfocused()正在工作,但我想获取“事件”,以在失去焦点时自动做出反应。
我了解我需要创建一个自定义UIview类以覆盖canBecomeFocused
这是我创建的自定义类的代码
import Foundation
import UIKit
class focusableUIview: UIView {
override var canBecomeFocused: Bool {
return true
}
override func didUpdateFocus(in context: UIFocusUpdateContext, withcoordinator: UIFocusAnimationCoordinator) {
print("focus")
}
}
我还更新了故事板,以更改我要检测焦点变化的UIView的类。
我在问什么,我需要在UIviewcontroller类中做什么,我注意到canBecomeFocused从未被调用...
我有点迷茫。非常感谢您的帮助
答案 0 :(得分:1)
使您的视图更具针对性
override var canBecomeFocused: Bool {
return true
}
然后覆盖此功能以获取焦点更新
override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
}