【问题标题】:Animate/zoom a focused custom view in tvOS动画/缩放 tvOS 中的焦点自定义视图
【发布时间】:2015-12-18 11:17:53
【问题描述】:

我的 tvOS 应用中有一个自定义 UICollectionViewCell。它有一个UIImageView 和一些UILabels。通过实现UIFocusEnvironment 协议,我可以毫无问题地使单元格获得焦点,但我不知道如何使我的自定义单元格具有焦点外观。 (提升和响应触摸板上的用户移动)。

我知道 UIImageViewadjustsImageWhenAncestorFocused 属性,但这只会提升我的单元格中的图像,而不是整个单元格。

有没有办法让 tvOS 将(看似)标准的焦点外观/行为应用于我的自定义视图,还是我必须手动完成所有操作?

提前致谢。

【问题讨论】:

    标签: focus tvos


    【解决方案1】:

    tvOS 12.0+ 中的更新:查看 Apple 在 TVUIKit 中提供的新课程!您现在可以制作具有这种聚焦行为的自定义视图!

    ————

    我在 Apple 开发者论坛上问过同样的问题。苹果员工回答:

    对于自定义视图,您必须实现焦点外观 你自己。在焦点更新方法中,您可以执行诸如应用 转换并使用UIMotionAffect API。

    - (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator {
        if (context.nextFocusedView == self) {
           // handle focus appearance changes
        }
        else {
           // handle unfocused appearance changes
        }
    }
    

    我认为制作UIView 扩展以便能够将相同的行为应用于任何自定义视图会非常有帮助。

    也许他们希望我们实现更有趣的方式来向用户显示焦点?这是为UIImageView 轻松启用此功能的一个很好的理由(更不用说此行为还会在UIImageView 上添加模拟光,这很漂亮,但可能只对图像有意义)。

    【讨论】:

      猜你喜欢
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多