2017-03-05 3 views
0

非常に最小限のUIButton(透明な背景には境界線は白いテキストカラー、そのスーパービューには暗い背景があります)があります。ユーザーがUIButtonをタップすると、私は白いテキストカラーのアルファチャンネルを変更して、実際に押したユーザーに灰色の外観と信号を与えます。ボタンを押した後、ボタンを選択状態に保つにはどうすればいいですか?iOS上でUIButtonのテキストの色を変更して選択したままにする方法

textColorはほとんど瞬時に灰色から白に切り替わり、色を灰色のままにしておきたいと思います。ほとんどの場合、ユーザーは実際にそれが選択されたと見なします。これをどのように達成するのですか?これはこれまでのコードです。

logInButton.setTitleColor(pwStyle.appThemeTextFontColor, for: .normal) 
     logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .highlighted) 
     logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .selected) 

^^上記pwStyle.appThemeTextFontColorはちょうどあなたが "無効" ボタンの状態に "選択" 色を追加することができUIColor.white

答えて

0

を返します。

logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .disabled) 

と単純にボタンを無効にします後でもう一度有効にしてください。

0

システムの代わりにボタンの種類がカスタムであることを確認してください。タイトルがフェードアウトしないようにして、内部のタッチアップでこれを使用してください。

@IBAction func myButtonDidPress(_ sender: UIButton) { 
     sender.isSelected = !sender.isSelected 

    } 

乾杯

関連する問題