0

スクロールビューに追加するボタンは約 10 ~ 12 個あります。コードを簡素化できるように、これらをボタンの配列にするにはどうすればよいですか? 現在、私のコード(最初の3つのボタンのみが表示されています)は次のとおりです:

    UIButton *redButton =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    redButton.frame = CGRectMake(0, 0, 50, 30);
    redButton.tag = 2;
    [redButton setTitle:@"red" forState:UIControlStateNormal];
    redButton.backgroundColor = [UIColor redColor];
    [redButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [redButton addTarget:self action:@selector(buttonAction:)    forControlEvents:UIControlEventTouchUpInside];
    [self.scollView addSubview:redButton];

    UIButton *blueButton =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    blueButton.frame = CGRectMake(70, 0, 50, 30);
    blueButton.tag = 3;
    [blueButton setTitle:@"blue" forState:UIControlStateNormal];
    blueButton.backgroundColor = [UIColor blueColor];
    [blueButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [blueButton addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
    [self.scollView addSubview:blueButton];

    UIButton *greenButton =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    greenButton.frame = CGRectMake(140, 0, 50, 30);
    greenButton.tag = 5 ;
    [greenButton setTitle:@"green" forState:UIControlStateNormal];
    greenButton.backgroundColor = [UIColor greenColor];
    [greenButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [greenButton addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
    [self.scollView addSubview:greenButton];

...

4

3 に答える 3

0

以下を使用できます。

[NSArray arrayWithObjects:redButton,greenButton,blueButton,nil];

しかし、NSDictionary を使用する方が良いかもしれません

[NSDictionary dictionaryWithObjectsAndKeys:
                redButton, @"red",
                blueButton, @"blue",
                greenButton, @"green",
                nil];

そうすれば、インデックスの代わりにキーを使用してそれらを検索できます。

于 2013-05-03T16:00:02.990 に答える