Ios 催化剂中爆米花的水平尺寸等级?

Ios 催化剂中爆米花的水平尺寸等级?,ios,mac-catalyst,uitraitcollection,uipopoverpresentationcontroller,Ios,Mac Catalyst,Uitraitcollection,Uipopoverpresentationcontroller,如果我在iPad上将视图控制器显示为popover(通过将其modalPresentationStyle设置为.popover),它将报告其水平大小类别为.compact。但如果我在Catalyst应用程序中运行相同的代码,则popover中的视图控制器会报告一个水平大小类.regular。紧凑是我所期望的。在我演示之前,在视图控制器的popoverPresentationController上进行设置可以使size类在iPad上正常运行,但不能使其在Catalyst上紧凑 如何使popover

如果我在iPad上将视图控制器显示为popover(通过将其
modalPresentationStyle
设置为
.popover
),它将报告其水平大小类别为
.compact
。但如果我在Catalyst应用程序中运行相同的代码,则popover中的视图控制器会报告一个水平大小类
.regular
。紧凑是我所期望的。在我演示之前,在视图控制器的
popoverPresentationController
上进行设置可以使size类在iPad上正常运行,但不能使其在Catalyst上紧凑


如何使popover中的视图控制器正确地报告Catalyst中的紧凑水平大小类?

我假设Catalyst作者在Mac上将默认值设置为
。常规
,因为popover通常会大得多

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

#if targetEnvironment(macCatalyst)
// set ‘overrideTraitCollection’ so it forces '.compact’ on the popover
#endif

遗憾的是,popover演示控制器上的
overrideTraitCollection
在Catalyst上没有任何功能。