2016-12-14 9 views
1

私はUITextFieldにプレースホルダテキストを持っています。誰かがプレースホルダテキストを書くと、私が望むものが消えます。しかし、それらを削除すると、プレースホルダーのテキストは再表示されません。テキストフィールドを編集した後に再び表示されるようにする方法を工夫しています。IOS:UITextFieldが空の場合にプレースホルダテキストを返す方法

私のアプリは迅速です。

+2

だけ明確にするには、属性インスペクターで「プレースホルダ」属性を使用していますか? –

+2

textField.placeholderを使用している場合は、自動にする必要があります – Idali

+0

プレースホルダ属性を使用していました。私はそれをプログラムで設定するように変更し、うまくいきました。乾杯 –

答えて

1

このような拡張は、必要なものを提供するはずです。必要であれば、あなたもtextFieldShouldReturnにロジックを移動することができるが、より良いあなたのアプリケーションに合った場合、:

extension ViewController: UITextFieldDelegate { 
    func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { 

     guard let text = textField.text, !text.isEmpty else { 
      textField.placeholder = "Your placeholder text" 

      return true 
     } 

     return true 
    } 

    func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
     textField.resignFirstResponder() 

     return true 
    } 
} 
関連する問題