繁体   English   中英

iPad拆分视图,uisplitview中有多个主视图和详细视图

[英]multiple master and detail views in iPad split view, uisplitview

提前谢谢。 我目前正在开发iPad版本的应用程序,该应用程序在iphone上具有3个选项卡,每个选项卡均加载3个不同的rss提要,然后使用iPhone上的导航控制器进行细化。 在iPad上,有意义的是,我在第一个splitview中加入了两个提要,然后为第三个提要提供了单独的母版和明细。

什么是实现此目的的最佳实践。 我目前在第一个detailview中设置了一个工具栏按钮,该按钮调用appdelegate,从而可以切换主视图和详细信息

- (void)switchViews {

    VideoSelectorViewController *masterViewController = nil;
    VideoDetailiPadViewController *detailViewController = nil;
    UIViewController *tempDetail = [self.splitViewController.viewControllers objectAtIndex:1];
    UIViewController *tempMaster = [self.splitViewController.viewControllers objectAtIndex:0];
    [tempDetail.view removeFromSuperview];
    [tempMaster.view removeFromSuperview];
    [tempDetail release];
    [tempMaster release];
    tempDetail = nil;
    tempMaster = nil;

  //  if (row == 1) {
        VideoSelectorViewController *newMasterViewController = [[VideoSelectorViewController alloc] initWithNibName:@"VideoSelectorViewController" bundle:nil];
        masterViewController = newMasterViewController;

        VideoDetailiPadViewController *newDetailViewController = [[VideoDetailiPadViewController alloc] initWithNibName:@"VideoDetailiPadViewController" bundle:nil];
        detailViewController = newDetailViewController;

  //  }

    // Update the split view controller's view controllers array.
    NSArray *viewControllers = [[NSArray alloc] initWithObjects:masterViewController, detailViewController, nil];
    self.splitViewController.viewControllers = viewControllers;
    [viewControllers release];

/*  // Dismiss the popover if it's present.
    if (popoverController != nil) {
        [popoverController dismissPopoverAnimated:YES];
    }*/

    // Configure the new view controller's popover button (after the view has been displayed and its toolbar/navigation bar has been created).
   // if (detailViewController.popover != nil) {
        [detailViewController showRootPopoverButtonItem:detailViewController.rootPopoverButtonItem];
    //}

    [masterViewController release];
    [detailViewController release];


}

当iPad处于横向但纵向显示时,此按钮可以正常工作,但在工具栏上没有显示barbutton,我如何调用-(void)splitViewController:(UISplitViewController *)svc willHideViewController以编程方式? 还有我的方法的内存管理,我应该像在switchViews方法中的那些临时对象一样,释放并设置为无先前的主信息和详细信息吗?

另一种方法是将新的母版推到旧的上,然后只替换细节。 更好,更好的内存,性能等等。再次感谢

由于没有人能够提供任何见解,因此我要做的是在detailview中创建第二个视图,该视图仅与第二个tableview一起使用

您的ViewController需要UISplitViewControllerDelegate

那么它将被自动调用

参见http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewControllerDelegate_protocol/Reference/Reference.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM