我想创建一个使用 UISplitViewController 的应用程序。我正在使用xcode 6 + ios 8.1 SDk。我创建了示例应用程序,该应用程序在iOS 8(iPhone 5,iPhone 6 +,iPad(上运行良好,但在iOS 7上失败。有没有人帮助我通过同时支持 iOS 7 和 iOS 8 来实现此功能。(我使用的是语言目标 C(
您实际上可以在iOS 7(在iPhone或iPad上(下使用UISplitViewController,但是有一些技巧。首先,我不确定是否可以通过编程方式进行,但您应该使用故事板。其次,确保在情节提要上启用了"使用大小类">复选框选项。
最后,还有一些问题,您可能会使用导航控制器而不是拆分视图控制器进行调用。例如,在默认的 prepareForSeque 方法(由默认拆分控制器项目提供(中,我必须进行以下 #if 1 调整:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSDate *object = self.objects[indexPath.row];
#if 1
DetailViewController *controller = nil;
if ([segue.destinationViewController isKindOfClass:[UINavigationController class]]) {
controller = (DetailViewController*)[segue.destinationViewController topViewController];
}
else if ([controller isKindOfClass:[UISplitViewController class]]) {
controller = segue.destinationViewController;
}
#else
DetailViewController *controller = (DetailViewController*)[[segue destinationViewController] topViewController];
#endif
[controller setDetailItem:object];
controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
controller.navigationItem.leftItemsSupplementBackButton = YES;
}
}