程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> ios-對用戶輸入的字符進行限制

ios-對用戶輸入的字符進行限制

編輯:編程綜合問答
對用戶輸入的字符進行限制

有四個文本框,在用戶輸入時需要放入兩個限制。一個是用戶只能輸入大寫字母,並且最多只能有2個字符。代碼如下:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range 
   replacementString:(NSString *)string {

// Below logic is for All 4 Modifer Textfields
// we are restrict the user to enter only max 2 characters in modifier textfields.
if (textField==txt_modifier1 || textField==txt_modifier2 || textField==txt_modifier3 || 
textField==txt_modifier4) {
    textField.text = [textField.text stringByReplacingCharactersInRange:range
                                                             withString:[string 
    uppercaseStringWithLocale:[NSLocale currentLocale]]];
    NSUInteger newLength = [textField.text length] + [string length] - range.length;
    return (newLength > 2) ? NO : YES;

}
return YES;
}

但是運行之後,我輸入任何字符都會附加一個新字符,並且也沒用成功限制2個字符的數量。

請高手指點一下,謝謝。

最佳回答:


注冊UITextFieldTextDidChangeNotification 在這裡做判斷

[[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(textChanged:)
                                              name:UITextFieldTextDidChangeNotification
                                            object:YOUR_TEXT_FIELD];

-(void)textChanged:(NSNotification *)notif {
    //to do your logic
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved