ios--uitextfield動態限制輸入的字數

來源:互聯網
上載者:User

1、定義一個事件:

-(IBAction)limitLength:(UITextField *)sender{    bool isChinese;//判斷當前IME是否是中文    if ([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString: @"en-US"]) {        isChinese = false;    }    else    {        isChinese = true;    }        if(sender == self.txtName) {        // 8位        NSString *str = [[self.txtName text] stringByReplacingOccurrencesOfString:@"?" withString:@""];        if (isChinese) { //中文IME下                UITextRange *selectedRange = [self.txtName markedTextRange];                //擷取高亮部分                UITextPosition *position = [self.txtName positionFromPosition:selectedRange.start offset:0];                // 沒有高亮選擇的字,則對已輸入的文字進行字數統計和限制                if (!position) {                    NSLog(@"漢字");                    if ( str.length>=9) {                        NSString *strNew = [NSString stringWithString:str];                        [self.txtName setText:[strNew substringToIndex:8]];                    }                }                else                {                    NSLog(@"輸入的英文還沒有轉化為漢字的狀態");                                }        }else{            NSLog(@"str=%@; 本次長度=%d",str,[str length]);            if ([str length]>=9) {                NSString *strNew = [NSString stringWithString:str];                [self.txtName setText:[strNew substringToIndex:8]];            }        }    }}

2、對UITextField控制項添加監聽事件:

    //UIControlEventEditingChanged    [self.txtName addTarget:self action:@selector(limitLength:) forControlEvents:UIControlEventEditingChanged];



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.