2016-05-04 6 views
0

enter image description hereユーザーがテキスト

FUNCテキストフィールド(列:UITextFieldの、shouldChangeCharactersInRange範囲:文字列をreplacementString NSRange、テキストフィールド)であるテキストフィールドに指定されたシンボルを削除できないようにする必要があり

私はこの記号をswiftのテキストフィールドから削除するようにユーザーを制限する必要があります。このシンボルを削除せずに、テキストフィールドから任意のものを削除することができます。

+0

なぜそれをテキストフィールドから移動しないのですか?そうでない場合は、何を試しましたか?コードを表示してください。何が問題になりましたか? – Wain

+0

このシンボルをテキストフィールドから移動することはできません。このために何もしていません。if(string.characters.count == 1){ if currencyDetail!= "" { amount.text = currencyDetail } 返品虚偽 } –

答えて

0

ユーロ記号は常にテキストフィールドにあり、最初の文字になりますので、変更する文字の範囲が0より長く、0から始まるかどうかを確認します。かかわらず、第一の位置にあるシンボルの)

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if range.length>0 && range.location == 0 { 
      return false 
    } 
    return true 
} 

しかし、ユーロ記号がテキストフィールドに、常にではない場合、あなたは文字列への参照を取得することによって、ユーザは、この記号を削除されているかどうかをチェックすることができますユーロ記号が含まれているかどうかを確認しています。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if range.length>0 && range.location == 0 { 
     let changedText = NSString(string: textField.text!).substringWithRange(range) 
     if changedText.containsString("€") { 
      return false 
     } 
    } 
    return true 
} 
+0

ありがとうございました。あなたがそれを両方の方法で説明した方法が好きです。 –

関連する問題