在iOS中,可以即使可以禁止使用Emoji键盘,但是也可以通过键盘打出Emoji,在实际开发中,可能需要在输入框中禁止使用输入Emoji,可以通过以下的方式来对输入内容进行过滤,
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UITextField *searchTextField = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 200 , 25)];
searchTextField.backgroundColor = [UIColor whiteColor];
self.view.backgroundColor = [UIColor lightGrayColor];
[searchTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
[self.view addSubview:searchTextField];
}
- (void)textFieldDidChange:(UITextField *)textField {
NSRegularExpression *regularExpression = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]" options:0 error:nil];
NSString *noEmojiStr = [regularExpression stringByReplacingMatchesInString:textField.text options:0 range:NSMakeRange(0, textField.text.length) withTemplate:@""];
if (![noEmojiStr isEqualToString:textField.text]) {
textField.text = noEmojiStr;
}
}