【发布时间】:2015-06-09 13:20:31
【问题描述】:
我编写了这段代码来通过不同的按钮改变不同标签的颜色
我是应用程序开发的新手,只是陷入了一些非常基础的问题:
-(IBAction)ButtonPressed:(id)sender
{
UIButton *btn=sender;
if(btn.tag==1)
{
lbl1.text=@"";
lbl1.backgroundColor=[UIColor redColor];
}
if(btn.tag==2)
{
lbl2.text=@"";
lbl2.backgroundColor=[UIColor greenColor];
}
else if(btn.tag==3)
{
lbl3.text=@"";
lbl3.backgroundColor=[UIColor magentaColor];
}
else if(btn.tag==4)
{
lbl4.text=@"";
lbl4.backgroundColor=[UIColor blueColor];
}
else if(btn.tag==5)
{
lbl5.text=@"";
lbl5.backgroundColor=[UIColor brownColor];
}
}
编写代码后,标签一的颜色只会发生变化。 我已经通过故事板连接了所有元素
【问题讨论】:
-
您确定所有按钮都指向相同的触摸事件方法吗?标签设置为方法期望?
-
使用断点检查是否所有按钮都调用了 buttonPressed 事件,使用控制台确保您的 if() 按预期工作,并且按钮在此函数中有适当的标签或至少 NSLog 标签,以查看是否有效如你所愿
-
闻起来像开关盒的外壳
-
@GrzegorzKrukowski 实际上你是对的,你打对了所有按钮实际上并没有调用 ButtonPressed 事件我交叉检查但由于某种原因使用发件人标签方法也很有用,谢谢冷杉你的帮助:)
-
没问题,很高兴能帮上忙。学习如何调试是更好的学习曲线的第一步:)
标签: ios objective-c iphone xcode uiviewcontroller