您可以shouldChangeCharactersInRange
为此使用委托方法。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string isEqualToString:@"\""])
{
NSLog(@"Entered \" ");
}
}
或者你可以使用:rangeOfString
of NSString
class。
if ([textField.text rangeOfString:@"\""].location == NSNotFound)
{
NSLog(@"Entered \" ");
}
以供参考:
textField:shouldChangeCharactersInRange:replacementString:
询问委托人是否应该更改指定的文本。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
参数
文本域
The text field containing the text.
范围
The range of characters to be replaced
细绳
The replacement string.
返回值
如果应替换指定的文本范围,则为 YES;否则,不保留旧文本。讨论
每当用户在文本字段中键入新字符或删除现有字符时,文本字段都会调用此方法。可用性
Available in iOS 2.0 and later.
UITextFieldDelegate
范围字符串:
查找并返回给定字符串在接收器中第一次出现的范围。
- (NSRange)rangeOfString:(NSString *)aString
参数
字符串
The string to search for. This value must not be nil.
Important: Raises an NSInvalidArgumentException if aString is nil.
返回值
一个 NSRange 结构,给出第一次出现的 aString 在接收器中的位置和长度。如果 aString 未找到或为空 (@""),则返回 {NSNotFound, 0}。
讨论
没有选项的调用rangeOfString:options:
。
此方法检测所有无效范围(包括具有负长度的范围)。对于链接到 OS X v10.6 及更高版本的应用程序,此错误会导致异常;对于链接到早期版本的应用程序,此错误会导致警告,每次应用程序执行时仅显示一次。可用性
在 NSString.h 中声明 在 UITextField.h 中声明
NSString 类