0

我正在以UIButtons编程方式创建,然后将它们存储UIButtonsNSMutableArray. 所有这些UIButtons都有一些文本作为标题。我没有这些的出口UIButtons。现在我想在我触摸或单击某些时分配UIButtonto的标题。但对我来说问题是这样的:我怎样才能在这些. 因为我以编程方式创建,而且这些也没有插座。这是我创建按钮的代码: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)senderactionButtonFunction.

将发件人分配给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 回答