0

UIButtonsプログラムで作成してから、これらUIButtonsをに保存しNSMutableArrayます。これらUIButtonsはすべて、タイトルとしていくつかのテキストを持っています。これらのアウトレットはありませんUIButtons。ここで、いくつかをタッチまたはクリックしたときに、のタイトルUIButtonを割り当てたいと思います。しかし、私にとっての問題はこれです:どうすればこれらの関数を実行できますか。プログラムで作成したので、これらにもアウトレットがありません。ボタンを作成するための私のコードは次のとおりです。UIlabelUIButtonUIButtonsUIButtonsUIButtons

     saveBtn = [[NSMutableArray alloc] init];

    for (int i=0; i<30; i++) {


        if (btnn>8) {
             UIButton *btn = [UIButton   
            buttonWithType:UIButtonTypeRoundedRect];
            btn.frame = CGRectMake(200.0 , spacey, 30.0, 30.0);
            int idx;
            idx = arc4random()%[arr count];
            NSString* titre1 = [arr objectAtIndex:idx];
            [btn setTitle:titre1 forState:UIControlStateNormal];      
            spacey=spacey+30;
            spacex = 80;
            btnn = 0;
            }
        else {
            btnn++ ;
            UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btn.frame = CGRectMake(spacex, spacey, 30.0, 30.0);
            int idx;
            idx = arc4random()%[arr count];
            NSString* titre1 = [arr objectAtIndex:idx];
            [btn setTitle:titre1 forState:UIControlStateNormal];   
            spacex = spacex + 30;
            [saveBtn addObject:btn];
            [self.view addSubview:btn];

        }
    }

誰でも私にこれらのアクションを実行する方法を教えてくださいNSMutableArray UIButtons

4

3 に答える 3

2

以下を使用して、プログラムでUIButtonにアクションを追加できます。

[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];

- (void)buttonClicked:(UIButton *)btn
{
    [btn setTitle:@"UnAutreTitre" forState:UIControlStateNormal];
}

お役に立てれば。

于 2012-05-17T14:46:25.650 に答える
1

アクションのアクションを作成しますUIButton。ここで、をに送信し(id)senderますactionButtonFunction

に送信者を割り当ててからUIButton、のボタンタイトルを取得しますNSString

-(UIAction)buttonAction:(id)sender
{
    UIButton *button = (UIButton *)sender;
    NSString *buttonTitle = button.text;

    // further code goes here
}
于 2012-05-17T14:51:20.243 に答える
1

タグを設定し、ボタンにターゲットを追加するだけです。後で、どのボタンがタップされたかを確認できます。

于 2012-05-17T14:49:39.213 に答える