A f*_*pha 29 iphone nsstring uitextfield ipad ios
我有一个UITextField,用户可以在其中输入名称并保存.但是,不应允许用户在textFiled中输入空格.
1 - 如何找出用户是否在textFiled中输入了两个空格或填写空格
2 - 我怎么知道textFiled是否只填充空格
编辑 - 仅输入空格(空格)无效
Dar*_*ust 97
您可以"修剪"文本,即删除开头和结尾处的所有空格.如果剩下的只是一个空字符串,那么只输入空格(或没有).
NSString *rawString = [textField text];
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *trimmed = [rawString stringByTrimmingCharactersInSet:whitespace];
if ([trimmed length] == 0) {
// Text was empty or only whitespace.
}
Run Code Online (Sandbox Code Playgroud)
如果要检查是否有任何空格(文本中的任何位置),可以这样做:
NSRange range = [rawString rangeOfCharacterFromSet:whitespace];
if (range.location != NSNotFound) {
// There is whitespace.
}
Run Code Online (Sandbox Code Playgroud)
如果您想要阻止用户输入空格,请参阅@ Hanon的解决方案.
Han*_*non 13
如果你真的想"限制"用户进入空白区域
您可以在UITextFieldDelegate中实现以下方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string];
NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet];
if ([resultingString rangeOfCharacterFromSet:whitespaceSet].location == NSNotFound) {
return YES;
} else {
return NO;
}
}
Run Code Online (Sandbox Code Playgroud)
如果用户在字段中输入空格,则当前文本没有变化
使用以下代码行
NSString *str_test = @"Example ";
NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet];
if([str_test rangeOfCharacterFromSet:whitespaceSet].location!=NSNotFound)
{
NSLog(@"Found");
}
Run Code Online (Sandbox Code Playgroud)
如果你想限制用户使用下面的代码
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string isEqualToString:@" "])
{
return NO
}
else
{
return YES
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31177 次 |
| 最近记录: |