我正在开发适用于iOS的社交脚本,但我只需将用户名登录为小写。我有lowercaseString
需要进入的字符串,但我并不确切知道在哪里。
所以这就是代码:
NSString *username = [self.usernameField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];**
我将.lowercaseString
仅用于小写登录?
答案 0 :(得分:0)
NSString *username = [self.usernameField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].lowercaseString;
但是,这只能确保username
为小写。要确保UITextField仅包含小写字符,您可以执行以下操作:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
NSRange upperCharRange;
upperCharRange = [string rangeOfCharacterFromSet:[NSCharacterSet uppercaseLetterCharacterSet]];
if (uppercaseCharRange.location != NSNotFound) {
textField.text = [textField.text stringByReplacingCharactersInRange:range
withString:[string lowercaseString]];
return NO;
}
return YES;
}
只有在将<UITextFieldDelegate>
添加到班级的.h
文件中时才会调用此方法。您还需要将UITextField实例的委托设置为类实例的self,如下所示:
textField.delegate = (id <UITextFieldDelegate>)mainViewController;
答案 1 :(得分:0)
您可以在self.usernameField.text
之后或]]
之后添加。由于lowerCase不会影响空格或换行符,因此没有任何区别。
唯一的区别是在修剪字符串后,字符串可能会更短,因此转换为小写字符串将花费更少的时间(尽管不是很明显)。
因此我建议在]]
之后添加它:
NSString *username = [self.usernameField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].lowercaseString;