我试图在按钮click.i使用按钮作为复选标记的基础上使用一些逻辑,当我点击此复选标记按钮的图像更改为checked.png或unchecked.png.On该基础我使用此代码...
if([UIImage imageNamed:@"checkbox_ticked.png"])
{
isActiveStr=[arrayPickerData objectAtIndex:17];
NSLog(@" is active value is %@ ",isActiveStr);
isActiveStr=nil;
}
else
{
NSLog(@"no vlaue send");
isActiveStr=[[NSMutableString alloc]initWithString:@"1"];
NSLog(@" is active value %@",isActiveStr);
}
现在我不知道如何使用else condtion ...我运行这个代码,但它总是只运行codition.It永远不会进入其他conditon.I希望我的代码是真的它进入如果部分和条件是错误的,它进入了其他部分。我如何使用按钮的图像属性来检查条件。
答案 0 :(得分:1)
你必须有一个标志变量来保存按钮的状态(选中/取消选中)。
BOOL checked;
而且,当您点击按钮时,您必须更新它。
- (void)onButtonTapped:(UIButton *)button {
checked = !checked;
...
}
并改变你的if语句,
if (checked) {
// The button is checked
} else {
// The button is not checked
}
答案 1 :(得分:0)
试试这个if
声明:
if ([[myButton imageForState:UIControlStateNormal] isEqual:[UIImage imageNamed:@"checkbox_ticked.png"]]) {
...
但至于我这是一个糟糕的方法,最好有一些bool标志,表明按钮已被检查。
答案 2 :(得分:0)
if条件总是评估为true。您应该检查[myButton state]以查看它是否已启用。您可能需要根据需要添加IBOutlet或IBAction。
答案 3 :(得分:0)
在您的IBAction方法中使用它
if(!btnCheckbox.selected)
{
[btnCheckbox setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"check-out_h" ofType:@"png"]] forState:UIControlStateNormal];
btnCheckbox.selected=YES;
}
else {
[btnCheckbox setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"check-out" ofType:@"png"]] forState:UIControlStateNormal];
btnCheckbox.selected=NO;
}
答案 4 :(得分:0)
-(void)checkBoxIsHideNationWideClicked
{
NSLog(@"nation wide button clicked");
mybtn.selected=!mybtn.selected;
defaultsCheckBox=[NSUserDefaults standardUserDefaults];
if (mybtn.selected)
{
[defaultsCheckBox setValue:@"One" forKey:@"CheckBox"];
NSLog(@" is active value is %@ is fetched succesfuly",hideNationWideStr);
[CommonVar setHideNationwideData:hideNationWideStr];
NSLog(@" is active value send to cmmon class %@ sent succesfuly",hideNationWideStr);
}
else
{
[defaultsCheckBox setValue:@"Two" forKey:@"CheckBox"];
NSLog(@"no vlaue send");
hideNationWideStr=[[NSMutableString alloc]initWithString:@"1"];
[CommonVar setHideNationwideData:hideNationWideStr];
NSLog(@" is active value send to cmmon class %@ sent succesfuly",hideNationWideStr);
}
}