NSMutableArray UIButtons动作?

时间:2012-05-17 14:41:44

标签: iphone objective-c ios uibutton nsmutablearray

我正在以编程方式创建UIButtons,然后将这些UIButtons存储在NSMutableArray中。所有这些UIButtons都有一些文字作为标题。我对这些UIButtons没有出口。现在,我想在触摸或点击某些UIButton时将UIlabel的标题指定给UIButton。但问题是我:如何在这些UIButtons上执行该功能。因为我以编程方式创建了UIButtons,并且这些UIButtons也没有Outlet。这是我创建按钮的代码:

     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执行操作。

3 个答案:

答案 0 :(得分:2)

您可以使用以下方式以编程方式向UIButton添加操作:

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

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

希望这有帮助。

答案 1 :(得分:1)

只需设置标记并将按钮添加到按钮即可。之后,您可以获取点击的按钮。

答案 2 :(得分:1)

UIButton操作创建操作,您将(id)sender发送到actionButtonFunction

将发件人分配到UIButton,然后点击NSString中的按钮标题。

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

    // further code goes here
}