我想保留一些文本UITextField
不可编辑。例如,我想保留“.com”之类的内容,在“.com”之前添加用户输入。
问问题
632 次
4 回答
2
尝试使用此方法
(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
并在内部使用类似这样的内容,因此当用户尝试编辑最后三个字符时,它将返回 NO:
if (string.length < 3) {
NSLog(@"NO -> string.length < 3");
return NO;
}
if (range.location > textField.text.length-3) {
NSLog(@"NO");
return NO;
}
return YES;
于 2013-07-24T19:53:14.747 回答
1
当用户返回 UITextField 时,请执行以下操作:
NSString *oldString = yourTextField.text;
NSString *newString = [oldString stringByAppendingString:@".com"];
yourTextField.text = newString;
于 2013-07-24T19:39:45.143 回答
0
跟踪每个字符的变化。如果“.com”的任何部分被编辑,以编程方式恢复它。确保向用户表明“.com”不可编辑。
于 2013-07-24T19:39:38.970 回答
0
您可以通过以下两种方式进行操作:
NSString *suffixStr = @".com";
1.
NSString *newStr = [yourStr stringByAppendingString:suffixStr];
2.
NSString *newStr = [NSString stringWithFormat:@"%@%@", yourStr, suffixStr];
于 2013-07-24T19:52:40.433 回答