ボタン用に 2 つの画像があり、1 つは通常用、もう 1 つは選択用です。そして、丸みを帯びた四角形のボタンがタッチダウンしたときと同じように動作するようにしたいのですが、ボタンの画像が変わり、外側にドラッグすると画像が通常に戻ります。これが私が試したものです。
まず、カスタム ビュー コントローラーを作成し、実装にメソッドを追加しました。これが下に表示されています。そして、これらのメソッドを再生「ボタン」と「設定」ボタンの 2 つのボタンに接続しました。
- (IBAction)playButtonSelected:(UIButton *)sender { //this is for event touchDown
[sender setImage:[UIImage imageNamed:@"PlayButtonSelected.png"] forState:UIControlStateNormal];
}
- (IBAction)playButtonNotSelected:(id)sender { //this is for event touchUpOutside
[sender setImage:[UIImage imageNamed:@"PlayButton.png"] forState:UIControlStateNormal];
}
- (IBAction)settingsButtonSelected:(UIButton *)sender { //this is for event TouchDown
[sender setImage:[UIImage imageNamed:@"SettingsButtonSelected.png"] forState:UIControlStateNormal];
}
- (IBAction)settingsButtonNotSelected:(id)sender { //this is for event touchUpOutside
[sender setImage:[UIImage imageNamed:@"SettingsButtons.png"] forState:UIControlStateNormal];
}
さて、私はこれを行い、かなりうまくいきましたが、2つの問題があります.
1 つ目: 20 個のボタンがある場合、40 個のメソッドが必要です。これは実際には問題ではありませんが、潜在的な問題として考える必要があると思います。
2番目: ボタンを外側にドラッグすると、ユーザーが実際に指を離す前に、通常の画像に切り替えたいと思います。現時点では、イメージは指が離されたときにのみデフォルトになり、指が特定の距離に移動したときではなく、 touchUpInside コマンドが実行されません。基本的にこれが標準なので、これが欲しいです。また、ボタンをクリックするという衝動的な行動は、必要に応じて元に戻すことができることをユーザーが理解するのにも役立ちます。
かっこいい、どんな助けも大いに役立つでしょう!