web-dev-qa-db-ja.com

ボタンが灰色になっていて、iOSで現在無効になっていることをユーザーに知らせる方法は?

現在、XcodeとSwiftを使用してシンプルなiOSアプリを開発しています。私のアプリには、ユーザーが触れた何かに応じて、時々無効/有効になるボタンがあります。しかし、 "button.enabled = false"を設定すると、ボタンが灰色になり、ユーザーがボタンが現在無効になっていることがわかります。これはどのように行うことができますか?

14
Thor

無効状態のボタンのタイトルをカスタマイズするには、次のコードを使用します。 viewDidLoad内で呼び出すことができます。

button.setTitleColor(UIColor.grayColor(), forState: .Disabled)

無効なボタンの背景色をカスタマイズしたい場合は、この回答のアプローチを使用してください: ハイライトされているときにUIButtonの背景色を変更する方法

18
slashdot

ストーリーボードを介してこれを行うことができます。ボタンを選択し、IDインスペクターに移動して状態の構成をクリックし、「無効」状態を選択します。次に、ボタンの背景色を灰色に設定します。ここから、さまざまな状態の要件に応じてUIButtonをカスタマイズできます。必要なのは、コードでボタンの状態の設定を管理することだけです。 enter image description here

11
Ishika

スウィフト3

受け入れられた答えとして、しかしSwift3用に更新されました

button.setTitleColor(UIColor.gray, for: .disabled)
8
MikeJ

Disabledフラグをtrueに設定すると、標準ボタンのUIが変わります。

それでもうまくいかない場合は、スラッシュドットの灰色のタイトルの色を変更するか、ボタンのアルファを.6程度に設定して、私がよく行うことを行うことができます。 (ただし、ボタンの背後に不均一なコンテンツがある場合は、ボタンの背後にあるものが透けて見えるため、これは良い選択ではありません。)

3
Duncan C