2012-05-26 99 views
0

我有一个要求在splitView上加载detailViewController上的多个viewControllers。 somethingLike enter image description hereUISplitViewController推送多个详细视图iPad?

当警报开启时,这样我就可以在detailView上推动相关视图控制器。左侧视图是一个可用视图。

我的代码是在这里AppDelegate.m

#import "splitDetailViewController.h" 
#import "splitTableViewController.h" 

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 

    splitTable=[[splitTableViewController alloc]initWithStyle:UITableViewStyleGrouped]; 
    UINavigationController *splitTableNav=[[UINavigationController alloc]initWithRootViewController:splitTable]; 

    splitDetails=[[splitDetailViewController alloc]initWithNibName:nil bundle:nil]; 
    UINavigationController *splitDetailNav=[[UINavigationController alloc]initWithRootViewController:splitDetails]; 


    self.splitViewController.delegate=splitDetails; 

    splitViewController=[[UISplitViewController alloc]init]; 

    splitViewController.viewControllers=[NSArray arrayWithObjects:splitTableNav,splitDetailNav, nil]; 





    [self.window addSubview:splitViewController.view]; 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
    } 

对不起,这是第一次正在开发iPad应用程序,感到有点困惑如何使用SPLITVIEW。我将如何在详细视图中调用多个viewController。用于定时器,闹钟,共享,每个都有不同的视图控制器。

希望我会得到一些帮助!

回答

1

没关系,我找到了一个解决方案,它工作正常

http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

三江源

+0

请帮助我,我怎么能在iPad上使用UIspliteviewcontroler。现在我想添加2个UItableview。当我点击左侧的UItableview时,我想显示右侧的UItableview。我怎样才能做到这一点。请给我一些想法。在屏幕上方,你是如何做到的。请告诉我。在此先感谢 – sathis

+0

只需在代码中使用UISplitViewController –

+0

@sathis只需为两个视图控制器创建对象并将其添加到UISplitViewController。 self.splitViewController = [[UISplitViewController alloc] init]; splitViewController.viewControllers = [NSArray arrayWithObjects:TableViewController1,TableViewController2,nil]; –

4

我正在寻找解决类似的问题。在我的情况下,我希望tableview根据选择链接到多个detailviews。我可以将数据覆盖在一个视图控制器上,但正在寻求更好的解决方案。这是我做的。它的简单和更好,然后我发现迄今为止一些复杂和过时的选项。

我只是在身份检查器,我想表示的DetailView(“第二”)了视图 - 控制了一个故事板ID和在didSelectRowAtIndexPath方法我干脆说:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

    [[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 
} 

因此,当有人按下电池在主视图中,详细视图被推送。

一个简单的if语句可以切换显示该视图:

if ([[self.selfRootMenuArray objectAtIndex:indexPath.row] isEqual: @"Second Choice"]) { 
    TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

    [[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 
} else if ([[self.selfRootMenuArray objectAtIndex:indexPath.row] isEqual: @"First Choice"]) { 
    TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"first"]; 

    [[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 
}; 

你可以简单地使用按钮,开关或其他任何东西,而不是表视图,但问题是,在增加一个“故事板ID” “标识检查”

并简单地通过参考“故事板ID”,然后在索引1(详细侧)按向拆分视图控制器实例视图控制器其简单和快速

TimeDetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"second"]; 

[[self.splitViewController.viewControllers objectAtIndex:1] pushViewController:detail animated:YES]; 

希望它可以帮助

+0

好的解决方案...我喜欢它 – Biranchi

相关问题