任何機構可以告訴我如何設置單詞的限制,以輸入在Objective-C中的文本字段? 在我的情況下,我有一個註冊表格和註冊表格,每個用戶必須輸入username
,password
,email
和phone no.
,現在我必須限制用戶輸入最多15個字符的名稱。如何在文本字段中設置限制?
任何人都可以告訴我我該怎麼做?
任何機構可以告訴我如何設置單詞的限制,以輸入在Objective-C中的文本字段? 在我的情況下,我有一個註冊表格和註冊表格,每個用戶必須輸入username
,password
,email
和phone no.
,現在我必須限制用戶輸入最多15個字符的名稱。如何在文本字段中設置限制?
任何人都可以告訴我我該怎麼做?
您可以按以下方式限制UITextField
中的輸入數量。
首先,設置相關UIViewController
作爲委託對象,以UITextField
yourTextField.delegate = self;
然後將下面的代碼添加到您的UIViewController
。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length]<15) {
return YES;
}
return NO;
}
或者你可以在你的UIViewController
接口
@interface YourViewController()<UITextFieldDelegate>
// YourViewController.m
@end
定義UITextFieldDelegate
協議,然後實現在你的類以下shouldChangeCharactersInRange
任務。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 15) ? NO : YES;
}
這是錯誤的因爲它會考慮文本字段的文本由於用戶typi而改變之前的長度而不是它會是什麼。檢查已被標記爲重複的問題以獲取更多詳細信息。 –
@deepak現在.......... –
試試這個:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *textFieldText = [textField.text stringByReplacingCharactersInRange:range withString:string];
if ([textFieldText length] > 15)
{
return NO;
}
return YES;
}
[iPhone SDK:設置最大字符長度的TextField]的
可能重複(http://stackoverflow.com/questions/433337/iphone-sdk-set-max-字符長度文本框) –
這個職位可能有你在找什麼: http://stackoverflow.com/questions/433337/iphone-sdk-set-max-character-length-textfield – AlexFZ