我有兩種方法可以看到解決方案。一,你可以看看UISplitViewControllerDelegate,特別是摺疊和擴展接口部分。
另一種解決方案是覆蓋您的尺寸集合,以便iPhone和iPad上的顯示效果相同,因爲在無任何摺疊和展開的情況下,這兩個視圖總是「在那裏」。您可以將分割視圖控制器的preferredDisplayMode
設置爲Overlay,這在iPhone上看起來不錯。所有你需要做的就是添加
UITraitCollection* horizTrait = [UITraitCollection
traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
UITraitCollection* vertTrait = [UITraitCollection
traitCollectionWithVerticalSizeClass:UIUserInterfaceSizeClassRegular];
UITraitCollection* childTraits = [UITraitCollection
traitCollectionWithTraitsFromCollections:@[horizTrait, vertTrait]];
[self setOverrideTraitCollection:childTraits forChildViewController:self.childViewControllers[0]];
父類的UISplitViewController
(如果沒有父類,則必須創建一個本可以只是一個簡單的導航控制器)。
編輯的:我應該提及的是,上面的代碼簡單地將設備的特徵設置爲所有設備的常規規則。
聽起來就像'UISplitViewController'的導航類型是爲了處理 – dan