UISplitViewController推动多个详细视图iPad上的按钮点击主视图

问题描述:

我有主视图控制器,其中包含几个按钮,而不是tableview。我想在不同的按钮点击时打开不同的细节视图。UISplitViewController推动多个详细视图iPad上的按钮点击主视图

我有下面列出的代码,但是这不显示任何更改。

- (IBAction)NewEntryBtn:(UIButton *)sender 
{ 

    NSLog(@"new entry btn"); 
    [self.appdelegate.splitViewController viewWillDisappear:YES]; 
    NSMutableArray *viewControllerArray=[[NSMutableArray alloc] initWithArray:[[self.appdelegate.splitViewController.viewControllers objectAtIndex:1]viewControllers]]; 
    [viewControllerArray removeLastObject]; 

    self.secondVC=[[SecondDetailViewController alloc] init]; 
    [viewControllerArray addObject:self.secondVC]; 
    self.appdelegate.splitViewController.delegate = self.secondVC; 

    [[self.appdelegate.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];  


    [self.appdelegate.splitViewController viewWillAppear:YES]; 
} 

- (IBAction)EditBtn:(UIButton *)sender 
{ 
    [self.appdelegate.splitViewController viewWillDisappear:YES]; 
    NSMutableArray *viewControllerArray=[[NSMutableArray alloc] initWithArray:[[self.appdelegate.splitViewController.viewControllers objectAtIndex:1]viewControllers]]; 
    [viewControllerArray removeLastObject]; 

    self.secondVC=[[SecondDetailViewController alloc] init]; 
    [viewControllerArray addObject:self.secondVC]; 
    self.appdelegate.splitViewController.delegate = self.secondVC; 

    [[self.appdelegate.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];  


    [self.appdelegate.splitViewController viewWillAppear:YES]; 
} 

有人可以提出改变吗?

那么,你可以通过一种方法做到这一点。
首先将所有按钮设置为tag,并将所有按钮的引用添加到单一方法。

- (IBAction)btnClicked:(id)sender 
{ 
    int btnNo = ((UIControl *) sender).tag; 
    NSLog(@"Button Clicked - %d", btnNo); 
    if (btnNo == 1) 
    { 
    // Navigate to first detail view controller 
    } 
    else if (btnNo == 2) 
    { 
    // Navigate to second detail view controller 
    } 
    . 
    . 
    and so on. 
}