2016-05-02 10 views
2

UITextfieldに特定の文字が入力されないようにする方法を知りたいと思います。たとえば、A、G、P、Q、Xの文字がこのテキストフィールドに入力されないようにするには、残りの文字は使用できます。特定の文字がテキストフィールドに入力されないようにするにはどうすればよいですか?

私は非常にこれに新しいと助けてくれてありがとう!

+0

私の答えを確認してください。 – Shashi3456643

答えて

2

これにはUITextViewDelegateを使用する必要があります。デリゲートメソッドの1つでユーザーの入力を受け取り、必要に応じて処理します。ここで

はそれのためのAppleのリファレンスです:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextViewDelegate_Protocol/#//apple_ref/occ/intfm/UITextViewDelegate/textView:shouldChangeTextInRange:replacementText

EDIT:

あなたはこの機能を使用する必要があります。

実際には、特定の文字を「許可しない」ように処理する方法によって異なります。

+0

ガイダンスありがとうございます。サンプルコードを提供できるかどうか尋ねるのはあまりありませんか?私はSwiftにとって非常に新しいです。どうもありがとうございます。 – SteveSmith

+0

私の編集をチェックしてください...このリンクも参考になるかもしれません:http://stackoverflow.com/a/31502884/1585677 –

+0

助けてくれてありがとう! – SteveSmith

1

私はこの種の問題をASCIIコードで扱います。 textFieldデリゲートプロトコル(UITextFieldDelegate)が含まれ、textFieldデリゲートがselfに割り当てられていることを確認してください。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 

     var singleChar = string 

     let code = singleChar.unicodeScalars.first?.value 

     print(code) 

     if(code == 65 || code == 71 || code == 80 || code == 81 || code == 88) 
     { 

     return false; 
     } 

     return true; 

    } 
+0

このメソッドは、ユーザーがテキストの塊をペーストすると機能しません。不適切に仮定されている1つ以上のcharである。 –

関連する問題