UI按钮和操作问题

时间:2011-07-27 07:03:57

标签: iphone uibutton ibaction

我想动态创建一些UI按钮。并显示标签号。所以我成功制作了按钮,我点击了第一个按钮,它为标签显示“null”,然后我点击第二个按钮,然后程序崩溃了。我不确定我的代码的哪一部分出错了。

这是我的代码:

NSMutableArray *buttonsArray = [[NSMutableArray alloc] initWithObjects:nil];

for(int i = 0; i < [someArray count]; i++)
{
      button = [[UIButton alloc] initWithFrame:CGRectMake(btnX,btnY,btnW,btnH)];

    button.tag = i;

    [buttonsArray addObject:button];

    [[buttonsArray objectAtIndex:i] addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

    button.titleLabel.text = [NSString stringWithFormat:@"Click it"];

    [self.view addSubview:button];

    btnY = btnY + 120;
}

-(IBAction) buttonPressed:(id)sender {

UIButton *btn = (UIButton *)sender;
NSLog(@"%@", btn.tag);

}

2 个答案:

答案 0 :(得分:1)

那是因为tagNSInteger而你正在做

NSLog(@"%@", btn.tag);

您必须使用%ld作为格式说明符。做

NSLog(@"%ld", btn.tag);

答案 1 :(得分:0)

将代码更改为 的NSLog(@ “%@”,self.but.tag); 要么 的NSLog(@ “%@”,self.but.tag.me)