Iphone 使用标签访问动态按钮
您好,我有一些代码来创建动态按钮,如下所示:Iphone 使用标签访问动态按钮,iphone,Iphone,您好,我有一些代码来创建动态按钮,如下所示: - (void)viewDidLoad { for (int i = 0; i < 9; i++) for (int j = 0; j < 8; j++) { forControlEvents:UIControlEventTouchDown]; UIButton *button = [UIButton buttonWithType:UIButtonTyp
- (void)viewDidLoad {
for (int i = 0; i < 9; i++)
for (int j = 0; j < 8; j++) {
forControlEvents:UIControlEventTouchDown];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(10+i*34 , 130+j*30, 30 , 20 );
[button setTitle:@"00" forState: UIControlStateNormal];
[button addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
button.tag = i;
}
}
-(void)viewDidLoad{
对于(int i=0;i<9;i++)
对于(int j=0;j<8;j++){
forControlEvents:UIControlEventTouchDown];
UIButton*button=[UIButton button类型:UIButtonyPeroundRect];
button.frame=CGRectMake(10+i*34130+j*30,30,20);
[按钮设置标题:@“00”表示状态:uicontrol状态正常];
[按钮添加目标:自我操作:@选择器(点击:)用于控制事件:UIControlEventTouchUpInside];
[self.view addSubview:按钮];
button.tag=i;
}
}
我希望访问一个带有标签的动态按钮
我该怎么办
欢迎评论
感谢interdev您必须进行如下检查:
if (button.tag == 1) {
.....do something
}
或switch语句:
switch (button.tag)
{
case 1:
statements
break;
case 2:
statements
break;
//more case statements
default:
statements
break;
}
另一个问题是,您正在将“j”循环中创建的每个按钮都设置为标记“i”。这意味着您将有8个按钮具有相同的标记ID。您需要根据“i”和“j”索引对标记执行不同的操作。可能是这样的:
button.tag = (i*100)+j;
这样,您就可以从标记中提取“i”和“j”索引。正如rekle所述,您的视图将被分配相同的标记。使用他的建议分配标签
(i*100)+j
。然后,要从同一类中的另一个方法检索这些视图,您可以使用[UIView viewWithTag::]
如下所示:
for (int i = 0; i < 9; i++)
for (int j = 0; j < 8; j++) {
UIButton *button = [self.view viewWithTag:(i*100)+j];
// Do more stuff here...
}
}
for(int i=0;i<9;i++)
对于(int j=0;j<8;j++){
UIButton*button=[self.view view with tag:(i*100)+j];
//在这里做更多的事情。。。
}
}
以下是。我的意思是从同一类中的其他函数访问按钮谢谢。例如,我想更改按钮的背景图像,如何从同一类中的其他函数获取动态按钮的句柄?谢谢我是否需要将按钮存储到NSMutableArray?