Ios 如何在swift 4中检测UIview失去焦点或获得焦点?

Ios 如何在swift 4中检测UIview失去焦点或获得焦点?,ios,swift,uiview,focus,Ios,Swift,Uiview,Focus,我正在开发一个滚动视图页面,其中有一些youtube视频和YoutubeKit框架 YoutubeKit正在使用UIView显示视频。我想在UIView不对焦时暂停视频(不显示,但显示用户) isfocused()正在工作,但我希望获得“一个事件”,以便在焦点丢失时自动作出反应 我知道我需要创建一个自定义UIview类来覆盖canBecomeFocused 下面是我创建的自定义类的代码 import Foundation import UIKit class focusableUIview:

我正在开发一个滚动视图页面,其中有一些youtube视频和YoutubeKit框架

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从来没有被称为


我有点迷路了。非常感谢您的帮助

使您的视图可聚焦

override var canBecomeFocused: Bool {
    return true
}
然后重写此函数以获得焦点更新

override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {

}

你们这里的焦点是什么?您好,焦点的意思是用户的屏幕上出现了一些东西。即使未在智能手机上观看视频,视频仍可以播放。我想避免,你可以用。它将检查您的videoView是否在mainView中。@victor如果您共享一些代码,我相信它会更容易帮助您。@victor您可以实现委托,该委托将为
UIView
功能提供给
UIViewController
我创建了一个自定义class@victor对您需要创建自定义类继承
UIView
。然后,重写这个函数。我已经用我提取的代码更新了原始帖子。用户已经在问题中发布的代码中这样做了。