Ios 发出短而尖的叫声就像TabBarController通用应用程序下的SplitViewController
我是iOS新手,很难实现拆分视图主细节控制器。我已经创建了一个新项目Ios 发出短而尖的叫声就像TabBarController通用应用程序下的SplitViewController,ios,core-data,uitabbarcontroller,uisplitviewcontroller,appdelegate,Ios,Core Data,Uitabbarcontroller,Uisplitviewcontroller,Appdelegate,我是iOS新手,很难实现拆分视图主细节控制器。我已经创建了一个新项目 使用主细节应用程序通用应用程序,使用ARC、故事板和核心数据,然后 在tabbar控制器中嵌入局部视图控制器 在详细信息视图控制器之前添加了导航控制器 使选项卡栏控制器成为初始视图控制器 现在,storybaord如下图所示 我知道并阅读了一些旧帖子和苹果的人机界面指南,认为Split View应该是根视图控制器,但我也看到了像Tripadvisor和Yelp这样的应用程序!已经实现了同样的功能,并且已经得到了苹果的批准 我
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
UINavigationController *masterNavigationController = splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)masterNavigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
} else {
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
return YES;
}
有人能告诉我如何实现相同的功能(修改上面的代码)吗?如果我需要添加一个额外的主视图控制器,我应该如何继续
谢谢
我通过如下修改代码使应用程序的iphone部分正常工作任何可以提供修改ipad代码建议的人:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UISplitViewController *splitViewController = (UISplitViewController *) self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
UINavigationController *masterNavigationController = splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)masterNavigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
} else {
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController = tabBarcontroller.viewControllers[0];
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
return YES;
}
以下是我努力实现的一些照片:
在iPad中以横向模式拍摄Yelp屏幕:
纵向模式下的主视图:纵向模式下的详细视图:看起来你解决了iPhone视图的这个问题——你只需要做一些类似的事情来更新iPad机箱。根视图控制器是一个UITABBARC控制器——所以抓住它的第一个视图控制器,它应该是分割视图控制器。但是通用分割视图的连接和情节提要设置不同,所以作为一个新手,每次尝试都会陷入困境。来自论坛的一些代码帮助将非常有用,因为这是我尝试的第一个主要项目。