0

テーブルビューの代わりにいくつかのボタンで構成されるマスタービューコントローラーがあります。ボタンのクリックごとに別の詳細ビューを開きたい。

以下にリストされたコードがありますが、これは変更を示していません。

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

誰でも変更を提案できますか?

4

1 に答える 1

0

さて、これを行うには、1 つの方法しかありません。
最初にすべてのボタンに設定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.
}
于 2013-08-14T06:30:41.500 に答える