1

ボタンを押すとアクションが発生するアプリがあります..次を使用して、アクションの開始時にボタンを変更できます。

UIImage *changeImage = [UIImage imageNamed:@"stopGrey.png"];
[myButton setImage:changeImage forState:UIControlStateNormal];

アクションが終了したら、ボタンを元に戻せるようにしたい..これを行う方法がわかりません..

UIControlStateDisabled/Selected/Application を試しました。アクションの終了が受信されていることを確認するためにログに記録しました。

助けてくれてありがとう..

4

2 に答える 2

4

OK、これを行う必要があります:

.hファイル:

-(IBAction)ButtonPressed:(id)sender;
-(IBAction)ButtonReleased:(id)sender;

グラフィカルパーツを使用している場合は、タッチダウンイベントをメソッドButtonPressedに結合し、内部のタッチアップをButtonReleasedに結合します(これらのオプションを表示するには、ボタンを右クリックします)。コードを使用してボタンを追加する場合は、次のメソッドを使用します(.mファイルのviewdidloadメソッド内)。

[button addTarget:self action:@selector(ButtonPressed:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(ButtonReleased:) forControlEvents:UIControlEventTouchUpInside];

その後、完了です。ButtonPressedメソッドは、ボタンに触れるたびに呼び出され、ButtonReleasedメソッドは、ボタン内のボタンを離すたびに呼び出されます。あなたの質問のために、あなたはメソッド(.mファイル)に次のコードを追加することができます

-(IBAction)ButtonPressed:(id)sender
{
    [button setBackgroundImage:[UIImage imageNamed:@"ImageWhenPressed.png"] forState:UIControlStateNormal];
}
-(IBAction)ButtonReleased:(id)sender
{
    [button setBackgroundImage:[UIImage imageNamed:@"ImageWhenReleased.png"] forState:UIControlStateNormal];
}

また、グラフィカルファイルに描かれたボタンをコード内のポインタにリンクする方法がわからないと思います。まず、.hファイルにポインタを作成します。

IBOutlet UIButton *button;

次に、グラフィカルファイルに移動し、ファイル所有者の画像(左側には画像としてオレンジ色の透明な立方体があります)を右クリックしてボタンにドラッグします。次に、ポインタの名前を持つオプションを選択します。この場合、ボタン。

そしてそこに!完了です!

于 2011-12-16T05:02:54.907 に答える