28

クリック時のボタンのハイライト効果を無効にする方法は? 白い背景色と DarkGray のテキスト色のカスタム ボタンがあります。問題は、ボタンをクリックするとテキストが白くなることです。すでに試しましたが、どれも機能しませんでした:

a. インターフェイス ビルダーで [Highlighted Ajusts Image] のチェックを外しました。

b. ボタンを押した方法で強調表示された=いいえを設定しようとしました:

((UIButton *)sender).highlighted = NO

c. 強調表示された状態に同じタイトルを設定しようとしました:

[button setTitle:[button titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];

助言がありますか?

4

8 に答える 8

24

これは、画像のあるボタンのソリューションです。HighlightedAdjustsImageストーリーボードには、デフォルトで Onと呼ばれるプロパティがあります。これを無効にすると、ボタン イメージに強調表示されたプロパティが表示されなくなります。

于 2015-06-11T10:14:55.010 に答える
12

UIButton はクリックすると強調表示されるため、ボタン設定を確認します 強調表示状態の設定でタイトルの色をデフォルトの状態と同じに変更する または、次のように設定できます。

[button setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];

コードで強調表示を制御したい場合は、サブクラス Button で通常の強調表示を無効にし、touchesBegin で無効にすることができます。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    if (self.state == UIControlStateHighlighted) {
        [self setHighlighted:NO];
    }
}
于 2013-07-08T13:55:42.413 に答える