我在UILabel (lblCount)
的操作方法上创建了UIButton (btnAdd)
和UIButton (Add Item Button)
。新UILabel
和UIButton
已添加到scrollview
。 UILabel (lblCount)
显示点击UIButton (btnAdd)
的计数。这里,addBtnClickCount
是一个整数,用于计算点击次数。
UILabel * lblCount = [[UILabel alloc] initWithFrame:CGRectMake( 50, 100*addBtnClickCount, 25, 25)];
lblCount.text = [NSString stringWithFormat:@"%d",count];
lblCount.tag = addBtnClickCount;
lblCount.textColor = [UIColor whiteColor];
lblCount.textAlignment = NSTextAlignmentCenter;
[self.scrollView addSubview:lblCount];
addBtnClickCount = addBtnClickCount+1;
当用户点按添加项按钮时,会有多个label (lblCount)
和button (btnAdd)
。我想访问特定label
和add button
的特定display the count
。
答案 0 :(得分:2)
在这里,我理解@Hem Poudyal,在viewWithTag
的帮助下知道这一点。他将获得输出。但不知道如何实现这一目标。所以我在这里描述。
第1步:在此我将UILabel
和UIButton
添加到self.view
而不是UIScrollView
。我希望你能把它转换为UIScrollView
。在这里,我在UILabel tag
和UIButton tag
之间应用了一些关系。您可以在下面的代码中看到。
for (int i=0; i<10; i++) {
UILabel * lblCount = [[UILabel alloc] initWithFrame:CGRectMake( 50, (i*50)+((i+1)*5), 100, 50)];
lblCount.text = [NSString stringWithFormat:@"%d",0];
lblCount.tag = [[NSString stringWithFormat:@"%d%d",i,i] integerValue];
lblCount.backgroundColor = [UIColor yellowColor];
lblCount.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:lblCount];
UIButton* btnTemp = [UIButton buttonWithType:UIButtonTypeCustom];
btnTemp.tag = i;
btnTemp.backgroundColor = [UIColor redColor];
[btnTemp addTarget:self action:@selector(btnTempClick:) forControlEvents:UIControlEventTouchUpInside];
btnTemp.frame = CGRectMake( 150, (i*50)+((i+1)*5), 100, 50);
[btnTemp setTitle:[NSString stringWithFormat:@"Button : %d",i] forState:UIControlStateNormal];
[self.view addSubview:btnTemp];
}
步骤2:在UIButton选择器方法中,执行以下操作。
-(IBAction)btnTempClick:(id)sender{
UIButton* btnInner = sender;
NSInteger lblTagbaseOnButtonTag = [[NSString stringWithFormat:@"%ld%ld",btnInner.tag,btnInner.tag] integerValue];
UILabel* lblReceived = (UILabel*)[self.view viewWithTag:lblTagbaseOnButtonTag];
lblReceived.text = [NSString stringWithFormat:@"%ld",[lblReceived.text integerValue]+1];
}
输出是:
答案 1 :(得分:2)
您已在标签上设置了标记。创建一个可变数组labelArray并为其添加标签。要访问特定标签,请在添加按钮的操作上执行以下代码。
-(void)addItem:(UIButton*)button{
UILabel* lblShowCount = [_labelArray objectAtIndex:[button tag]];
lblShowCount.text = [NSString stringWithFormat:@"%d", [lblShowCount.text integerValue]+1];
}
答案 2 :(得分:1)
你应该有一个数组,你也可以添加标签和按钮(这可能是一个包含字典或自定义类或多个数组的数组)。现在,当点击按钮时,您可以找到它在数组中的位置并获取相应的标签进行更新。
作弊方式是设置按钮和标签的tag
,以便您可以使用viewWithTag:
找到另一个。
答案 3 :(得分:0)
您需要在创建标签和按钮时设置唯一的tag
值,并使用viewWithTag:
可以访问相应的ui容器。