我有一个UITextField,我想允许用户在此字段输入最多2个空格。我如何做到这一点?允许在文本中只有2个空格
我想我需要在这里检查一番:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {}
但什么检查?我搜查了网页,但没有发现。
我有一个UITextField,我想允许用户在此字段输入最多2个空格。我如何做到这一点?允许在文本中只有2个空格
我想我需要在这里检查一番:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {}
但什么检查?我搜查了网页,但没有发现。
这将返回多少空间有字符串中
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
int numberOfSpaces = [[textField.text componentsSeparatedByString:@" "] count];
if (numberOfSpace > 2) {
//notify user that he/she has too many spaces
}
}
而且你似乎新到iOS。不要忘记将你的视图控制器设置为UITextField委托。
谢谢,这是我想要的!关于我所知道的代表,并不那么新鲜;) – user2058653
你想为此使用正则表达式。表达式\s\s+
表示两个或多个空格,回车符或制表符。
NSString *text = textField.text;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:
@"(\s\s+)" options:0 error:nil];
[regex replaceMatchesInString:str options:0 range:NSMakeRange(0, [str length]) withTemplate:@" "];
textField.text = text;
感谢RegEx的好例子! – user2058653
继续搜索,你还没有足够努力搜索。 – cpjolicoeur