希望您創建了splitViewController並將其設置爲您的AppDelegate
中的rootViewController。
在splitViewController的viewDidLoad
做
- (void)viewDidLoad
{[super viewDidLoad];
masterVC = [[MasterViewController alloc] init];
detailVC = [[DetailViewController alloc] init];
NSArray *vcArray = @[masterVC, detailVC];
self.viewControllers = vcArray;
self.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
self.presentsWithGesture = YES;
self.preferredPrimaryColumnWidthFraction = .10;
self.delegate = (id)self;}
這將肯定我已經測試過它的工作。 MasterViewController是主視圖控制器,DetailViewController是secondaryviewController。
注意:在iOS 8和更高版本中,您可以在所有iOS設備上使用UISplitViewController類;在以前的iOS版本中,該類僅在iPad上可用。
在對此設計進行了大量研究之後,我意識到大多數包含此功能的應用程序都是手動完成的。我見過很多使用SWRevealViewController庫的例子。但是,我希望我的主視圖能夠滾動我的詳細視圖。最重要的是,我發現UISplitViewDelegate的preferredDisplayMode屬性僅在普通大小的設備上得到確認,而不是緊湊的。因此將其設置爲PrimaryOverlay什麼都不做。由於我沒有在我的問題中指定設備,因此我會保留此答案,因爲它可能會幫助人們開發iPad。 –
嗨@Andrew Kima對我的理解UISplitViewController的工作方式與我們預期的iPhone 6 +和iPad類似,但是對於較小的顯示屏手機,我建議使用自定義視圖。以下是蘋果所說的**在iOS 8及更高版本中,您可以在所有iOS設備上使用UISplitViewController類;在之前的iOS版本中,該類僅在iPad上可用。** – Koushik
準確地說,我將不得不從頭開始設計自定義元素和動畫。由於我還沒有準備好這麼做,因此我決定使用選項卡式應用程序佈局。希望Apple在Xcode 8和iOS 10中增加對此設計的更多支持。 –