我正在开发一个用户只需输入圣言的应用程序。我希望限制用户不要输入滥用或成人字词。 我有一个很大的成人或滥用词汇列表,只要用户输入该词语就应该自动将其删除。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可能正在使用UITextField
,因此您应该在文字发生变化后照看禁用字词:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSRange spaceRange = [newString rangeOfString:@" "];
if (spaceRange.location != NSNotFound) { // it's a new word
newString = [self stringWithoutForbiddenWords:newString];
}
textField.text = newString;
return NO; // we set the textField text manually
}
- (NSString *)stringWithoutForbiddenWords:(NSString *)string {
for (NSString *forbiddenWord in self.forbiddenWords) {
NSRange forbiddenWordRange = [string rangeOfString:forbiddenWord];
if (forbiddenWordRange.location != NSNotFound) {
// remove the forbidden word
string = [string stringByReplacingOccurrencesOfString:forbiddenWord withString:@""];
}
}
return string;
}
别忘了给你UITextField
代表。
答案 1 :(得分:1)
这是一个非常简单的逻辑,顺便说一句,只有#34;圣言"看起来很有趣我希望你的意思是非侮辱性的。
code:
[UIView transitionFromView:vwOne toView:vwTwo
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:NULL]
检查每当用户按下"空间。textView shouldChangeTextInRange: