我正在开发适用于支持横向和纵向模式的iPad和iPhone设备的通用应用程序 . 在横向中,除了纵向模式中的按钮外,还有更多按钮 .
对于iPhone,我能够使用故事板设计不同的布局,它按预期的方式工作于wC | hC,wC | hR,wR | hC .
但是在iPad的情况下,我无法设计不同的布局,因为大小类对于横向和纵向都是相同的wR | hR .
我提到了@ Sizing class for iPad portrait and Landscape Modes,iPad 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提供了相同的尺寸等级 .