我正在开发适用于支持横向和纵向模式的iPad和iPhone设备的通用应用程序 . 在横向中,除了纵向模式中的按钮外,还有更多按钮 .

对于iPhone,我能够使用故事板设计不同的布局,它按预期的方式工作于wC | hC,wC | hR,wR | hC .

但是在iPad的情况下,我无法设计不同的布局,因为大小类对于横向和纵向都是相同的wR | hR .

我提到了@ Sizing class for iPad portrait and Landscape ModesiPad Landscape and Portrait different layouts with Size Class讨论的解决方案,并尝试使用以下代码:

override func overrideTraitCollectionForChildViewController(childViewController: UIViewController) -> UITraitCollection? {
    if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad &&
        view.bounds.width > view.bounds.height {

        let collections = [UITraitCollection(horizontalSizeClass: .Regular),
                           UITraitCollection(verticalSizeClass: .Compact)]
        return UITraitCollection(traitsFromCollections: collections)

    }
    return super.overrideTraitCollectionForChildViewController(childViewController)
}

但这个代码从未被调用过 . 应该有什么更好的方法来实现这一目标?

以编程方式为iPad改变特征会对应用审批流程产生任何影响,因为Apple本身在Landscape&Portrait中为iPad提供了相同的尺寸等级 .