1

UIButton次のコードとして設定されます。

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 27, 27)];
[btn setBackgroundImage:[UIImage imageNamed:@"imgUp.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"imgDown.png"] forState:UIControlStateHighlighted];
[btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];

btwすばやくタッチすると、imgDown.pngは表示されませんが、アクションbtnPressed:が実行されます。どうすれば修正できますか?どんな助けでもありがたいです:)

4

4 に答える 4

1

コードに次の行を追加します。

[btn setBackgroundImage:[UIImage imageNamed:@"imgDown.png"] forState:UIControlStateSelected];
于 2012-09-27T08:47:11.110 に答える
0

btnPressed:関数内のボタン(btn)に対してsetHiglighted:メソッドを呼び出す必要があります。

于 2012-09-27T08:43:15.020 に答える
0

次のコードで問題を解決できます。

-(void)btnPressedDelay{

    //original code in btnPressed: method
}

- (void) btnPressed:(id)sender
{    

    [self performSelector:@selector(btnPressedDelay) withObject:nil afterDelay:0];
// 0 did the magic here

}
于 2012-09-27T09:19:51.613 に答える
0

その動作は正常です私はそれをテストしますplsはあなたの画像をチェックしてそれを試してみます:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 27, 27)];
[button setBackgroundImage:[UIImage imageNamed:@"rainy.jpg"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"Icon.png"] forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view button];
于 2012-09-27T11:05:38.590 に答える