IOS 鍵盤 禁止輸入字母

來源:互聯網
上載者:User

標籤:

在開發中有時候需要數字鍵台,但是設定textfield為預設數字鍵後,

在模擬器上如果用電腦鍵盤仍然可以輸入字母,

在真機上如果使用搜狗等其他IME也可能會出現可以輸入字母的情況。解決方案如下,在textfield的代理方法中實現

 1 #pragma mark - UITextFieldDelegate 2 - (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 3     //禁止使用者輸入字母 4     NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; 5     for (int i = 0; i < [string length]; i++) { 6         unichar c = [string characterAtIndex:i]; 7         if (![myCharSet characterIsMember:c]) { 8             return NO; 9         }10     }11     12     //處理第一個數字為小數點或者0的情況13     NSString *text = theTextField.text;14     NSString *passcode = [text stringByReplacingCharactersInRange:range withString:string];15     if ([passcode hasPrefix:@"."])16     {17         return NO;18     }19     20     21     //處理小數點兩位後的情況22     if (!([theTextField.text rangeOfString:@"."].location == NSNotFound)) {23         NSArray *comArray = nil;24         comArray = [passcode componentsSeparatedByString:@"."];25         if (([comArray count] > 1) && ([comArray[1] length] > 2))26         {27             return NO;28         }29         30     }31     32     //處理兩個以上小數點的情況33     if ([string isEqualToString:@"."])34     {35         //        if ([text containsString:@"."])36         if(!([text rangeOfString:@"."].location == NSNotFound))37         {38             return NO;39         }40     }41     42     return YES;43 }

 

IOS 鍵盤 禁止輸入字母

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.