在您的代码或 Interface Builder 中为每个按钮指定一个唯一的标记。
然后在您的操作中,您可以执行以下操作:
- (IBAction)openAction:(id)sender {
UIButton *b = (UIButton *)sender;
NSLog(@"button %d is pressed", b.tag);
}
我看到你已经给你的 imageviews 标签了。那些不是按钮!您应该创建内容为图像的 UIButton。参见 UIButton 的 setImage:forState:
编辑:针对您的问题,以下是一个示例:
NSMutableArray *bArray = [NSMutableArray arrayWithCapacity:kNumImages];
NSUInteger i;
for (i = 1; i <= kNumImages; i++)
{
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
UIButton *btn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
btn setImage:imageName forState:UIControlStateNormal];
btn.tag = 100+i;
[bArray addObject:btn];
}