UIButton的垂直UICollectionView专注于tvOS

时间:2017-09-03 17:30:36

标签: uibutton uicollectionview focus uicollectionviewcell tvos

我有一个UICollectionView,可以垂直滚动大约15个单元格。然后直接在这个UICollectionView下面我有一个UIButton。我可以成功聚焦UIButton,但前提是我向下滚动所有UICollectionViewCells。我想知道是否可以将焦点从第一个UICollectionViewCell转换到UIButton而不必滚动浏览所有UICollectionView的项目?

所需行为的图表:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果你真的想要这种行为,那么你可以在以下函数中返回按钮,

override var preferredFocusEnvironments: [UIFocusEnvironment] 

然后继承以下函数,

override func shouldUpdateFocus(in context: UIFocusUpdateContext) -> Bool {

并在焦点即将转到第二个单元格并返回调用setNeedsFocusUpdate()之前返回false,这将使系统检查首选焦点元素并将焦点移动到按钮。

真的很想知道为什么你会这样做,但它的可行性。

答案 1 :(得分:0)

您是否尝试过使用canFocusAtItem将所有其他collectionView单元格设置为false。 然后直接将焦点移到UIButton。