加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 带有多个Detail View Controller的UISplitViewControl

发布时间:2020-12-15 01:49:56 所属栏目:百科 来源:网络整理
导读:我正在制作一个splitView应用程序,我想要不同的详细视图控制器,我已经研究了许多使用苹果MultipleDetailView控制器,但它没有完全采用所以任何人都可以使用它所以有任何方法来完成这个意味着不同适用于所有人的detailViewController. 解决方法 嗨纳粹我刚刚找
我正在制作一个splitView应用程序,我想要不同的详细视图控制器,我已经研究了许多使用苹果MultipleDetailView控制器,但它没有完全采用所以任何人都可以使用它所以有任何方法来完成这个意味着不同适用于所有人的detailViewController.

解决方法

嗨纳粹我刚刚找到解决方案从 http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

你可以这样做: –

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after app launch.
        self.splitViewController =[[UISplitViewController alloc]init];
    self.rootViewController=[[RootViewController alloc]init];
    self.detailViewController=[[FirstDetailViewController alloc]init];

    UINavigationController *rootNav=[[UINavigationController alloc]initWithRootViewController:rootViewController];
    UINavigationController *detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController];

    self.splitViewController.viewControllers=[NSArray arrayWithObjects:rootNav,detailNav,nil];
    self.splitViewController.delegate=self.detailViewController;

    // Add the split view controller's view to the window and display.
    [window addSubview:self.splitViewController.view];
    [window makeKeyAndVisible];

    return YES;
}

 -(void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    /*
     When a row is selected,set the detail view controller's detail item to the item associated with the selected row.
     */
    NSUInteger row = indexPath.row;
    [self.appDelegate.splitViewController viewWillDisappear:YES];
    NSMutableArray *viewControllerArray=[[NSMutableArray alloc] initWithArray:[[self.appDelegate.splitViewController.viewControllers objectAtIndex:1] viewControllers]];
    [viewControllerArray removeLastObject];

    if (row == 0) {
        self.firstDetailViewController=[[[FirstDetailViewController alloc] init]autorelease];
        [viewControllerArray addObject:self.firstDetailViewController];
        self.appDelegate.splitViewController.delegate = self.firstDetailViewController;

    }

    if (row == 1) {
        self.secondDetailViewController=[[[SecondDetailViewController alloc]init]autorelease];
        [viewControllerArray addObject:self.secondDetailViewController];
        self.appDelegate.splitViewController.delegate = self.secondDetailViewController;
    }
    [[self.appDelegate.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];    

    [self.appDelegate.splitViewController viewWillAppear:YES];
    [viewControllerArray release];

 }

你也可以查看这个演示http://kshitizghimire.com.np/wp-content/uploads/2011/01/MultipleDetailViewsWithNavigator.zip

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读