我目前正在使用Apple TV应用程序。
我的视图是像这样从左到右建立的(另请参见屏幕截图)


UICollectionView
UIImageview
UIView


UILabels
UIButton



ios - 当collectionview中的第一个单元格被聚焦时,无法聚焦uibutton-LMLPHP

当我在第二个UIButton上时,只能将uicollectionviewCell放在右侧。

当我在第一个和第三个单元格上时,我无法将焦点集中在UIButton上。

有什么帮助吗?

编辑

我的ViewDidLoad中有此代码

view.addLayoutGuide(focusGuide)

    focusGuide.leftAnchor.constraintEqualToAnchor(collectionView.leftAnchor).active = true
    focusGuide.topAnchor.constraintEqualToAnchor(collectionView.topAnchor).active = true
    focusGuide.widthAnchor.constraintEqualToAnchor(view.widthAnchor).active = true
    focusGuide.heightAnchor.constraintEqualToAnchor(view.heightAnchor).active = true


并添加此方法:

override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
        super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)

        guard let nextFocusedView = context.nextFocusedView else { return }

        switch nextFocusedView {
        case self.collectionView:
            self.focusGuide.preferredFocusedView = self.orderButton

        case self.orderButton:
            self.focusGuide.preferredFocusedView = self.collectionView

        default:
            self.focusGuide.preferredFocusedView = nil
        }
    }

最佳答案

我只能猜测,因为我还没有在AppleTV上工作,但是据我了解您在做什么,您无法从收藏夹视图的第一个单元中集中按钮。我的猜测是您没有明确告诉系统应该从特定元素中获取焦点的内容。系统“看到”您要聚焦的按钮距离垂直轴上的第一个单元格太远。由于第二个单元格较近,因此系统允许其移动。

正如我所说,这只是我从Unity3D中学到的关于GUI元素之间自动链接的猜测,我可能完全错了,但这确实很像我对我说的那样。

关于ios - 当collectionview中的第一个单元格被聚焦时,无法聚焦uibutton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34792238/

10-10 09:56