Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 标签属性在Xcode中更改_Ios_Objective C_Iphone_Xcode_Uiviewcontroller - Fatal编程技术网

Ios 标签属性在Xcode中更改

Ios 标签属性在Xcode中更改,ios,objective-c,iphone,xcode,uiviewcontroller,Ios,Objective C,Iphone,Xcode,Uiviewcontroller,我编写此代码是为了通过不同的按钮更改不同标签的颜色 我是应用程序开发的新手,只是在一些非常基础的东西上被卡住了: -(IBAction)ButtonPressed:(id)sender { UIButton *btn=sender; if(btn.tag==1) { lbl1.text=@""; lbl1.backgroundColor=[UIColor redColor]; } if(btn.tag==2) {

我编写此代码是为了通过不同的按钮更改不同标签的颜色
我是应用程序开发的新手,只是在一些非常基础的东西上被卡住了:

-(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];
    }
}
在编写代码后,标签1的颜色只会发生变化。 我已经通过故事板连接了所有的元素,不过像这样试试吧

-(IBAction)ButtonPressed:(id)sender
    {
        NSInteger i = [sender tag];

        if(i==1)
        {
            lbl1.text=@"";
            lbl1.backgroundColor=[UIColor redColor];
        }
        if(i==2)
        {
            lbl2.text=@"";
            lbl2.backgroundColor=[UIColor greenColor];
        }
        else if(i==3)
        {
            lbl3.text=@"";
            lbl3.backgroundColor=[UIColor magentaColor];
        }
        else if(i==4)
        {
            lbl4.text=@"";
            lbl4.backgroundColor=[UIColor blueColor];
        }
        else if(i==5)
        {
            lbl5.text=@"";
            lbl5.backgroundColor=[UIColor brownColor];
        }
    }
或者干脆

-(IBAction)ButtonPressed:(id)sender
    {
        if([sender tag]==1)
        {
            lbl1.text=@"";
            lbl1.backgroundColor=[UIColor redColor];
        }
        if([sender tag]==2)
        {
            lbl2.text=@"";
            lbl2.backgroundColor=[UIColor greenColor];
        }
        else if([sender tag]==3)
        {
            lbl3.text=@"";
            lbl3.backgroundColor=[UIColor magentaColor];
        }
        else if([sender tag]==4)
        {
            lbl4.text=@"";
            lbl4.backgroundColor=[UIColor blueColor];
        }
        else if([sender tag]==5)
        {
            lbl5.text=@"";
            lbl5.backgroundColor=[UIColor brownColor];
        }
    }

同时检查按钮的标签。

仅替换此行UIButton*btn=发送方


带UIButton*btn=(UIButton*)发送器

您确定所有按钮都指向触摸事件的相同方法吗?标记按方法预期设置?使用断点检查是否所有按钮都调用buttonPressed事件,使用console确保if()按预期工作,并且按钮在此函数中具有正确的标记或至少NSLog标记,以查看是否按预期工作。这与开关的情况类似case@GrzegorzKrukowski其实你是对的,你点击了正确的东西所有的按钮都没有实际调用ButtonPressed事件我交叉检查过,但由于某些原因,使用sender tag方法也很有用,谢谢你的帮助:)没问题,很高兴我帮助了你。学习如何调试是更好地学习曲线的第一步:)欢迎,只要有答案可以帮助您解决问题,请接受:)