2

ハイライトされた画像が異なって表示されます。これが私の状況です。

[button setImage:"normal image" forState:UIControlStateNormal];
[button setImage:"hover image" forState:UIControlStateHighlighted];
[button setImage:"hover image" forState:UIControlStateSelected];

- (IBAction)buttonTouched:(id)sender {
    UIButton *selectButton = sender;


    if (_currentSelectedTabButton.tag == selectButton.tag) {
        //TODO refresh view controller
        return ;
    }

    _currentSelectedTabButton.selected = NO;
    selectButton.selected = YES;

    _currentSelectedTabButton = selectButton;
}
  1. ボタンをタッチします。
  2. ボタンは強調表示された画像を表示します。(正しいイメージ)
  3. ボタンの状態は「選択済み」に設定されます
  4. ボタンをタッチします。
  5. ボタンは別の強調表示された画像を表示します。

ボタンが選択された状態の場合、強調表示された画像が正しく表示されません。何か案は?

4

2 に答える 2

2

これは、setImage:forControllState:UIControlStatesSelected と setHighlighted の両方の画像を設定しているためです。最初にボタンを押すと、選択されていない状態の強調表示された画像が表示され、もう一度ボタンを押すと、ボタンがオンになっているため、選択された画像が表示されます。選択された状態。(つまり、強調表示された画像は、ボタンの非選択状態でのみ機能します)。

于 2012-12-06T11:25:16.267 に答える