UICollectionViewCell我的tvOS应用程序中有自定义.它有一个UIImageView和一些UILabels.通过实现UIFocusEnvironment协议没有任何问题,我可以让细胞集中,但我无法弄清楚如何给我的自定义细胞聚焦外观.(提升和响应用户在触摸板上的移动).
我知道它UIImageView的adjustsImageWhenAncestorFocused属性,但这只能提升我单元格中的图像,而不是整个单元格.
有没有办法让tvOS将(看似)标准的焦点外观/行为应用到我的自定义视图中,还是我必须手动完成所有操作?
提前致谢.
sah*_*ziz 16
我在Apple开发者论坛上问了同样的问题.Apple员工回答:
对于自定义视图,您必须自己实现焦点外观.在焦点更新方法中,您可以执行诸如应用变换和使用UIMotionAffect之类的操作 API之类的操作.
Run Code Online (Sandbox Code Playgroud)- (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator { if (context.nextFocusedView == self) { // handle focus appearance changes } else { // handle unfocused appearance changes } }
我认为UIView扩展能够将相同的行为应用于任何自定义视图是非常有帮助的.
也许他们希望我们实施更有趣的方式来向用户展示焦点?这是一个很好的理由,只能为此轻松实现UIImageView(更不用说这种行为也会增加模拟光线UIImageView,这是美丽的,但可能只对图像有意义).
| 归档时间: |
|
| 查看次数: |
2983 次 |
| 最近记录: |