0

如果我在 iPad 上将视图控制器显示为弹出框(通过将其设置modalPresentationStyle.popover),它会将其水平尺寸类报告为.compact. 但是,如果我在 Catalyst 应用程序中运行相同的代码,弹出窗口中的视图控制器会报告水平大小类为.regular. 紧凑是我所期望的。overrideTraitCollection在我展示视图控制器之前设置popoverPresentationController它可以使大小类在 iPad 上正常化,但不会使其在 Catalyst 上变得紧凑。

如何使弹出窗口中的视图控制器正确报告 Catalyst 中的紧凑水平尺寸类?

4

2 回答 2

0

我假设 Catalyst 作者.regular在 Mac 上设置了默认值,因为弹出框通常要大得多。

如果您只想在 Mac 上覆盖它,我会使用#ifdef,例如:

#if targetEnvironment(macCatalyst)
// set ‘overrideTraitCollection’ so it forces '.compact’ on the popover
#endif
于 2021-05-30T22:00:21.437 回答
0

我在 WWDC 2021 实验室的 Catalyst 上问过一位 Apple 工程师,他说这是一个错误。我已将其归档为反馈 FB9124431。

于 2021-06-24T20:36:42.837 回答