TableView中的AppleTV Focusing CollectionView元素

时间:2016-11-18 15:07:21

标签: swift apple-tv focus-engine

我正在为AppleTV构建一个具有UITableView的应用程序。我为它制作了一个自定义单元格,它有一个UILabel和一个UICollectionView。有没有办法使标签和集合视图的元素都可以集中?我尝试使表视图的canFocusRowAt和集合视图的canFocusItemAt返回true,但它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,

UICollectionViewCell/UITableViewCell不是焦点外观,我们需要覆盖subclass UICollectionViewCell/UITableViewCell中的以下功能并执行焦点设置。

override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
    if isFocused {
        //Apply your focused appearance
    }else{
        //Apply normal appearance
    }
}

此外,如果您的UIImageView中只有一个collectionViewCell,那么您可以在awakeFromNib中执行以下操作:

myImageView.adjustsImageWhenAncestorFocused = true
clipsToBounds = false