2011-07-14 3 views
0

私は2つのチェックボックス(カスタマイズされたボタン)を制御するには、このコードを持っている:私は押したときに、私はそれがチェックになって1を押したとき、あなたはこのコードコントロールその2つのチェックボックスを見ることができますのiOS:コントロールの2つのチェックボックス

- (IBAction) setCheckBox: (id) sender{ 

    UIImage *selected = [UIImage imageNamed:@"checkbox_checked.png"]; 
    UIImage *notSelected = [UIImage imageNamed:@"checkbox_unchecked.png"]; 

    if ([sender isSelected]) 
    { 
     [sender setImage:notSelected forState:UIControlStateNormal]; 
     [sender setSelected:NO]; 
     if ([sender tag] == 10) boolOne = FALSE; 
     if ([sender tag] == 11) boolTwo = FALSE; 
    } 
    else 
    {  
     [sender setImage:selected forState:UIControlStateSelected]; 
     [sender setSelected:YES]; 
     if ([sender tag] == 10) boolOne = TRUE; 
     if ([sender tag] == 11) boolTwo = TRUE; 
    } 
} 

をもう一度それはチェックされなくなる。

今、私はこのようにこのコードを変更したい:タグ10と、デフォルトのチェックボックスで がチェックされていると私はそれを押したときに、私は効果を持っていないが、私は、タグ11と、チェックボックスを押したときに、それをチェックして、チェックボックス10べきですチェックしないでください。私は、チェックボックスを想定よう チェックボックスが

+0

あなたの主な問題は何ですか?どこにこだわっていますか? –

+0

チェックボックスにチェックしたいときは、チェックしたら他のチェックボックスがチェックされなくなります。このチェックボックスはオフになります。 – CrazyDev

+0

私の答えを見るdude –

答えて

1
if([sender isSelected]) 
return; 
if([sender tag] == 11){ 
    [sender setSelected:YES]; 
[checkbox10 setSelected:NO]; 
} 
if ([sender tag] == 10) { 
[sender setSelected:YES]; 
[checkbox11 setSelected:NO]; 
} 

を選択を切り替えても、bool値必要がありますが、タグ値によるチェックボックスを取得することができますので、

UIButton *checkBox10 = (UIButton*)[self.view viewWithTag:10]; 

私はあなたが理解してほしいuibuttonのインスタンスです。また、コードに従って画像を設定します。

+0

あなたのコードを試してみます – CrazyDev

0

ラジオボタンの動作が必要な場合は、チェックボックスの代わりにラジオボタンを使用することをお勧めします。

あなたはcheckbox10checkbox11という名前のインスタンス変数としてあなたのチェックボックスを格納していること、これはあなたの問題を解決しなければならないと仮定すると:

- (IBAction) setCheckBox: (id) sender{ 

    UIImage *selected = [UIImage imageNamed:@"checkbox_checked.png"]; 
    UIImage *notSelected = [UIImage imageNamed:@"checkbox_unchecked.png"]; 

    if (![sender isSelected]) 
    { 
     [sender setImage:notSelected forState:UIControlStateNormal]; 
     [sender setSelected:YES]; 
     if ([sender tag] == 10) 
     { 
      boolOne = YES; 
      boolTwo = NO; 
      [checkbox11 setImage:notSelected forState:UIControlStateNormal]; 
      [checkbox11 setSelected:NO]; 
     } 
     if ([sender tag] == 11) 
     { 
      boolTwo = YES; 
      boolOne = NO; 
      [checkbox10 setImage:notSelected forState:UIControlStateNormal]; 
      [checkbox10 setSelected:NO]; 
     } 
    } 
} 
関連する問題