我有一个遗留应用程序,该应用程序使用UISplitViewController进行主视图/详细视图。在iOS最高为12与13的情况下,此行为有所不同。例如,如果您启动一个appin景观,它将同时显示主要和详细信息。向左旋转,它将仅显示细节。向右旋转(至原始横向),仍然仅显示细节。这甚至在iPad Pro,iPad第7代和iPad Air 2上也不同。
(http://www.openradar.me/radar?id=4969975819272192中也对此行为进行了说明)
class SplitViewController: UISplitViewController, UISplitViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
preferredDisplayMode = .allVisible
}
func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool {
print("Split view controller function")
guard let secondaryAsNavController = secondaryViewController as? UINavigationController else { return false }
guard let topAsDetailController = secondaryAsNavController.topViewController as? DetailViewController else { return false }
if topAsDetailController.passedEntry == nil {
return true
}
return false
}
}
我想在AppDelegate或Cordova插件中更改应用程序中UITSplitViewController实例的默认行为,作为一种解决方法,直到Apple修复iOS13。还有其他人遇到同样的问题吗?有什么建议怎么做吗?