テキストフィールドの入力制限

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
m8170

テキストフィールドの入力制限

#1

投稿記事 by m8170 » 9年前

お世話になります。
xcode objectivecにてアプリ製作中の初心者です。
どなたかお詳しい方、教えて下さいませ。

現在、web上のサンプルを参考に、UITextfieldの入力文字制限をおこないたいと思っております。
具体的には、110は入力可能だけど111や112などの切りの悪い数字を無効にしたいと考えています。
入力桁は2桁か3桁なので、2桁の場合90は可能だけど、91や92は無効にしたいと思っております。
どのようにしたらいいでしょうか。
初心者の為、もっといい方法がございましたら他の方法なども教えて頂けますと幸いです。
ご助言宜しくお願いいたします。

コード:

// テキストフィールドの入力値変更イベント
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *strNgWord = @"!\"\\#$%&'()@[]{}|^~=;:\_?<>,/-*.";	// チェック対象の文字を複数定義
    
  // 文字数チェック
  if (8 < range.location + range.length + [string length]) {
  // 文字数制限を超える場合は入力取り消し
  return NO;
  }
    // 無効な文字列が含まれていないかどうかチェック
   for (int i=0; i<[strNgWord length]; i++) {
       // チェック対象の文字を設定
       NSString *strCk = [strNgWord substringWithRange:NSMakeRange(i, 1)];
       // 入力値がNGワードと一致する場合
       if ([string isEqual:strCk]) {
           // 入力取り消し
           return NO;
        }
   }
    //入力許可
    return YES;
}

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: テキストフィールドの入力制限

#2

投稿記事 by h2so5 » 9年前

11が入力できないのに110はどうやって入力するのでしょうか。

m8170

Re: テキストフィールドの入力制限

#3

投稿記事 by m8170 » 9年前

h2so5 様

早速のご返信ありがとうございます。
やはりそうですよね・・なにか方法があるのではと思ったのですが。。
他の方法を考えるしかないですよね。ありがとうございます。

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: テキストフィールドの入力制限

#4

投稿記事 by h2so5 » 9年前

UIPickerViewを使って選択式にしたほうがいいと思います。

m8170

Re: テキストフィールドの入力制限

#5

投稿記事 by m8170 » 9年前

h2so5様
ありがとうございます。
初歩的な内容で本当にすみません・・実はなにか方法があるのでは、と思いました。
大変勉強になります。
UIPickerviewにしたいと思います!

閉鎖

“C言語何でも質問掲示板” へ戻る