gpt4 book ai didi

swift - 如何使用 Apple TV 上的焦点引擎使 UIView 可聚焦

转载 作者:搜寻专家 更新时间:2023-10-30 22:04:43 27 4
gpt4 key购买 nike

是否可以使 UIView 可聚焦?或者我应该为所有可能的 View 使用自定义 UIButton 吗?

我试图覆盖 canBecomeFocused 但没有任何反应。

最佳答案

所以问题是我没有注意到我的手机获得了焦点。总结一下,您需要实现

1) 覆盖 canBecomeFocused

2) 重写“didUpdateFocusInContext:withAnimationCoordinator:”方法以突出显示焦点单元格

swift 2.3:

override func canBecomeFocused() -> Bool {
return true
}

override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {

if context.nextFocusedView == self {
coordinator.addCoordinatedAnimations({ () -> Void in
self.layer.backgroundColor = UIColor.blueColor().colorWithAlphaComponent(0.2).CGColor
}, completion: nil)
} else if context.previouslyFocusedView == self {
coordinator.addCoordinatedAnimations({ () -> Void in
self.layer.backgroundColor = UIColor.clearColor().CGColor
}, completion: nil)
}
}

swift 3:

override var canBecomeFocused: Bool {
return true
}

override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
if context.nextFocusedView == self {
coordinator.addCoordinatedAnimations({ () -> Void in
self.layer.backgroundColor = UIColor.blue.withAlphaComponent(0.2).cgColor
}, completion: nil)

} else if context.previouslyFocusedView == self {
coordinator.addCoordinatedAnimations({ () -> Void in
self.layer.backgroundColor = UIColor.clear.cgColor
}, completion: nil)
}
}

关于swift - 如何使用 Apple TV 上的焦点引擎使 UIView 可聚焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com