【问题标题】:Focusing the initial item in a collection view in Catalyst on macOS在 macOS 上的 Catalyst 中聚焦集合视图中的初始项目
【发布时间】:2020-07-05 19:19:29
【问题描述】:

我有一个在 macOS 上运行的 Catalyst 应用程序,我需要在其中选择 聚焦集合视图中的第一个项目。默认情况下,仅选择以编程方式选择的项目,而不是聚焦。为了说明我的意思,这里是正在发布的应用程序...

这是我使用鼠标或键盘手动选择第一项后的应用程序...

据我了解,Catalyst 使用 tvOS 的 Focus Engine 来管理焦点,因此在这里应用相同的概念应该会达到相同的结果。但是,我的运气为零。

我尝试过的事情......

  • 覆盖视图控制器上的preferredFocusEnvironments 并返回集合视图,并在集合视图委托中实现indexPathForPreferredFocusedView(in:)。这在调用这两种方法时都有效,但对结果没有影响。
  • 覆盖preferredFocusEnvironments 并从集合视图中返回当前选定的单元格。
  • 根据this Big Nerd Ranch article,覆盖preferredFocusEnvironments 并以硬编码的IndexPath(item: 0, section: 0) 返回单元格。

不幸的是,这些方法都没有实际关注所选项目的预期结果。谁能建议如何实现这一目标?

【问题讨论】:

    标签: macos uikit tvos mac-catalyst


    【解决方案1】:

    尝试使用 becomeFirstResponder()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      相关资源
      最近更新 更多