0

UIButtonに問題があります。

これは私のコードです:

ここに画像の説明を入力してください

私はInterfaceBuilderを使用しておらず、新しいプログラマーです。

ボタンを選択すると、タイトルが変わり、ボタンの透明度が半分表示から完全表示に変わります。

よろしくお願いします、-Marnix

4

2 に答える 2

1

問題はif、ボタンを作成するときに、ステートメントが1回だけ実行されることです。中MyCode2に、次の行を追加します。

[Button1 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchDown];


ボタンが押されるたびに、buttonActionメソッドが実行されるため、次のようになります。

- (IBAction)buttonAction:(id)sender {
    if(Button1.selected == NO) {
        // Do your "NO" stuff
    }else if(Button1.selected == YES) {
        // Do your "YES" stuff
    }
}

このIBActionをで宣言し、.hこのメソッドをファイルに追加する必要があり.mます。

于 2012-08-11T23:14:56.723 に答える
1

まず、次のようなさまざまな制御状態のタイトルを設定する必要があります

[Button1 setTitle:@"UnTapped" forState:UIControlStateSelected];

setTitle次に、このチェックの中にメソッドを入れる必要はありません。

さらに、ボタンを機能させるには、このチェックをボタンのメソッド内に配置する必要があります。IBを使用しなかった場合は、次のaddTarget: action: forControlEventように使用します。

[Button1 addTarget:self actoin:@selector(changeButtonState:) forControlEvent:UIControlEventTouchUpInside];

最後に、タッチ後もボタンを選択したままにしましたか?そうでない場合は、追加します

Button1.selected = !Button1.selected

メソッドで。全体として、メソッドは次のようになります。

- (IBAction)buttonAction:(id)sender {
    Button1.selected = !Button1.selected
    if(Button1.selected == NO) {
        Button1.alpha = 0.5
    }else if(Button1.selected == YES) {
        Button1.alpha = 1.0
    }
}
于 2012-08-11T23:14:59.380 に答える