2011-03-17 57 views
1

我有一个按钮,并在第一次时没有选中它不切换...按钮切换不是在第一次

我必须按两次,使其切换之后,它运作良好。 ... 和我的代码如下...

-(IBAction)toggleAutomaticlogin:(id)sender 
{ 
    if([sender tag]==1) 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox_selected.png"] forState:UIControlStateNormal]; 
     [sender setTag:0]; 
    }   
    else if([sender tag]==0) 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox.png"] forState:UIControlStateNormal]; 
     [sender setTag:1];   
    } 
} 

后点击两次,第一次是工作好...

+1

你可以尝试只是把你的其他人,如果,你也可能要确保图像您最初加载的内容是正确的,或者可能需要额外的新闻才能更改为您期望的内容。 – 2011-03-17 13:36:08

+0

我认为@Ian是对的。你应该检查标签以及可能会打印它。 – Robin 2011-03-17 13:40:52

+0

我刚刚注意到,你永远不会关闭你的if语句。 – 2011-03-17 14:17:11

回答

1

如果你不想惹标签也可以做类似

-(IBAction)toggleAutomaticlogin:(id)sender 
{ 
    if([sender currentImage]== [UIImage imageNamed:@"ckbox.png"]) 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox_selected.png"] forState:UIControlStateNormal]; 
    } 
    else 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox.png"] forState:UIControlStateNormal]; 
    } 
} 
0

请与下面的代码。

-(IBAction)toggleAutomaticlogin:(id)sender 
{ 
    if([sender tag]== 0) 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox_selected.png"] forState:UIControlStateNormal]; 
     [sender setTag:1]; 


    else if([sender tag]==1) 
    { 
     [sender setImage:[UIImage imageNamed:@"ckbox.png"] forState:UIControlStateNormal]; 
     [sender setTag:0]; 

    } 
}