UISplitViewController with multiple Detail View Controller

僤鯓⒐⒋嵵緔 提交于 2019-11-29 16:04:44

问题


I am making a splitView application and i want different detail view controllers for all i have studies a lot found that use apples MultipleDetailView Controllers but it is not fully adopted so that any one can use it so is there any way to get this done mean different detailViewController for all.


回答1:


hi Nazia i just found solution From http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

you can do like:-

- (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];

 }

you can also check this Demo http://kshitizghimire.com.np/wp-content/uploads/2011/01/MultipleDetailViewsWithNavigator.zip



来源:https://stackoverflow.com/questions/15104404/uisplitviewcontroller-with-multiple-detail-view-controller

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!