1つのテキストフィールドは英字のみを取り、もう1つは英数字です。そのうちの1つについて、ViewControllerでshouldChangeCharactersInRangeを定義しました。他のuitextfieldのロジックをどこで定義するのかわかりません。
誰かがこれがどのように機能するかを理解するのを手伝ってもらえますか?
1つのテキストフィールドは英字のみを取り、もう1つは英数字です。そのうちの1つについて、ViewControllerでshouldChangeCharactersInRangeを定義しました。他のuitextfieldのロジックをどこで定義するのかわかりません。
誰かがこれがどのように機能するかを理解するのを手伝ってもらえますか?
両方に同じデリゲートがある場合、両方とも同じshouldChangeCharactersInRangeメソッドで検証されます。そのメソッドにif-else句を入れて、どのテキストフィールドが送信者であるかを確認する必要があります。比較を行うには、2つのテキスト項目にIBOutletsが必要です。
いくつかのオプションがあります。テキストフィールド用にiVarを作成した場合、どちらが呼び出しているかを確認するのshouldChangeCharactersInRange
は簡単==
です。以下に、別のオプションとして、テキストフィールドにタグを割り当て、送信テキストフィールドのタグを確認することも示しました。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//Your first option
if (textField == myFirstTextField) {
//
}else{
//
}
//another option, if you don't want to create iVars you can assign tags to your text fields and do this
if (textField.tag == 99) {
//
}else{
//
}
}