【问题标题】:How to restore focus when presented view controller is dismissed?关闭呈现的视图控制器时如何恢复焦点?
【发布时间】:2021-10-22 19:04:03
【问题描述】:

我正在构建一个像照片这样的应用程序,您可以在其中滚动浏览UICollectionView 中照片的缩略图,您可以点击其中一个以全屏查看该照片。我正在努力添加对键盘导航的支持,这样您就可以使用箭头键专注于一张照片,然后按空格键全屏查看,关闭它,然后专注于另一张照片。这在照片应用程序中运行良好,但在我的应用程序中,当您关闭全屏视图控制器时,焦点不会恢复 - 直到您再次按下箭头键,该单元格才会聚焦。关闭呈现的视图控制器时如何恢复焦点?

为了启用焦点,我在UICollectionViewController 中设置了这些:

collectionView.allowsFocus = true
collectionView.allowsFocusDuringEditing = true
collectionView.remembersLastFocusedIndexPath = true

我认为设置它可以解决问题,但我得到了相同的行为:

restoresFocusAfterTransition = true

【问题讨论】:

    标签: ios uicollectionview focus ios15


    【解决方案1】:

    经过大量调试后,我确定这不起作用,因为我覆盖了 canBecomeFirstResponder 返回 true。一旦我在呈现和呈现的视图控制器中返回false,在关闭呈现时焦点正确恢复到呈现。我不确定这是否是故意行为,所以我提交了错误报告 FB9814702。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 2013-01-12
      相关资源
      最近更新 更多