0

UIControlState各sに 2 つの画像を持つシンプルなボタンがあります。このボタンをコントロールおよびインジケーターとして動作させて、「アクティブ化」してもう一度「非アクティブ化」を押すことができるようにしたいのですが、他の機能によってはオフになる可能性があります(「非アクティブ化」)。私の質問は、その状態を選択済みから非選択に変更するにはどうすればよいですか?
プロパティを変更してselectedもうまくいきません:)

4

2 に答える 2

1

ボタンを無効にして、押せないようにすることができます。

yourButton.enabled = NO;

プレス可能に戻したい場合は、有効にすることができます

yourButton.enabled = YES;
于 2012-12-23T15:01:03.230 に答える
0

最も簡単な方法は、ボタンをスイッチと見なし、スイッチのオン/オフに応じて状態を変更することです。たとえば、ボタンをタッチすると値が YES または NO になり、それに応じてボタンがイメージを取得する BOOL 変数を使用します。

- (void) buttonTouched:(id)sender
{
    switchOn = !switchOn;
    UIImage *buttonImage = nil; 

    if (switchOn == YES) 
    { 
        buttonImage = [UIImage imageNamed:@"on.png"]; 
    }
    else
    {
        buttonImage = [UIImage imageNamed:@"off.png"]; 
    }
    [myButton setImage:buttonImage forState:UIControlStateNormal];
    [myButton setImage:buttonImage forState:UIControlStateSelected];
}

プログラムでボタンを「無効」に設定する必要がある場合:

- (void) setButtonDisabled
{
    switchOn = YES; //calling buttonTouched: will turn it to NO
    [self buttonTouched:nil];
}
于 2012-12-23T15:09:15.913 に答える