【发布时间】:2016-08-25 21:06:25
【问题描述】:
我需要创建一个混合了UITableView、UITextField 和一些自定义UIView 的用户界面,并且我还需要提供自定义焦点动画。
如何让UITableView/UITableViewCell 和UITextField 不呈现默认焦点动画?
我试过了:
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
if let view = context.previouslyFocusedView {
view.layer.removeAllAnimations()
}
if let view = context.nextFocusedView {
view.layer.removeAllAnimations()
}
}
我可以添加自己的动画,但无法从视图中删除“默认”动画。
【问题讨论】:
-
如果你对它们进行子类化,你应该能够覆盖动画。
-
我尝试覆盖/删除动画无济于事。
-
描述你看到的动画。将您的代码放在
UITableViewCell子类中为我删除了所有动画。虽然removeAllAnimations()调用是不必要的。 -
我指的是 tvOS 为当前聚焦的视图绘制的略微放大和阴影效果。
-
你发现了吗? @pstoppani
标签: uitableview uitextfield tvos focus-engine